我有一个使用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语句中更新上面的所有属性。数据库中的所有字段都与上面用户输入的名称相同。
感谢您的时间:)
答案 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}}