SQLite3更新语句

时间:2015-04-23 16:16:03

标签: python sqlite update-statement

我有一个使用python和sqlite3的数据库设置。 我需要更新我的库存数据库,以便我可以更改有关该项目的信息。

我目前的代码是:

itemname = e0.get()
quantity = e1.get()
manufacturer = e2.get()
itemnumber = e3.get()
price = e4.get()
curriculumlink = e5.get()
yeargrouplink = e6.get()
location = e7.get()

所有这些都来自tkinter输入框,它们目前根据数据库已有的关于该项目的信息保存我已加载的信息。

cursor = db.cursor()
sql = "UPDATE items SET quantity = '%s' WHERE name = '%s';" % quantity.strip(), itemname.strip()
cursor.execute(sql)
db.commit()

此代码遇到错误,不会更新数量。如果有人对此有任何建议,我将非常感激。

但是,有没有办法在一个sql语句中更新上面的所有属性。数据库中的所有字段都与上面用户输入的名称相同。

感谢您的时间:)

1 个答案:

答案 0 :(得分:0)

cursor.execute("UPDATE items SET quantity=?WHERE name=?",[qty,name])

将修复你的问题(它没有解释没有括号的元组)但是你应该真的是我们sqlite3引擎执行格式化

 class Item(Base):
     __tablename__ = "items"
     name = Column(String,primary_key=True)
     qty = Column(Integer,default=0)

你真的应该使用像sqlalchemy这样的ORM,它允许你轻松切换数据库引擎并将所有数据表示为类

{{1}}