我为正在构建的Web应用程序创建了下表:
# create itemListTable
itemListTable = """ CREATE TABLE IF NOT EXISTS itemListCollection (
itemUUID text PRIMARY KEY NOT NULL,
itemName text NOT NULL,
itemPrice real NOT NULL,
itemStatus text NOT NULL,
itemImgURL text NOT NULL,
parentProductListUUID text NOT NULL
); """
当我尝试更新itemStatus
中现有项目条目中的itemListCollection
列时,尽管我确定要提交对数据库所做的更改,但什么也没发生:
def updateItemStatusInDB(itemUUID, statusValue):
with sqlite3.connect(databaseFile) as conn:
c = conn.cursor()
c.execute("UPDATE itemListCollection SET itemStatus = ? WHERE itemUUID = ?", (statusValue, itemUUID, ))
conn.commit()
c.close()
return
我的查询语法是否可能有问题?数据库中充满了条目,我可以使用"SELECT * FROM itemListCollection WHERE itemUUID=?"
成功地检索行的内容,所以我不明白为什么上面的方法行不通。请注意,我正在Flask服务器上运行这些数据库操作。
答案 0 :(得分:1)
在愚蠢的时刻,事实证明上面的代码没有弄错-当我在代码中调用updateItemStatusInDB()
方法时,我只是弄乱了参数的顺序。