繁体   English   中英

Python sqlite3更新语句未更新

[英]Python sqlite3 update statment not updating

所以我有了这个sql(它使用(1,1,1),因为我想消除它为OrderID输入错误参数的可能性(在这种情况下为1)),它使用的是显示如下。 由于某种原因,它在运行时不会返回错误,但是即使它看起来与我的代码中其他地方的sql相同,也不会更新该表。

我数据库中的所有字段均设置为除ID之外的文本...我想就是全部,在此先感谢您的建议。

query("UPDATE Orders SET CustomerID = ?, OrderDate = ? WHERE OrderID = ?", (1, 1, 1))

def query(sql, data = None):
with sqlite3.connect("notDataBase1.db") as db:
    cursor = db.cursor()
    if data == None:
        cursor.execute(sql)
    else:
        cursor.execute(sql, data)
    results = cursor.fetchall()
    return results

就像有人在评论中说的那样,您需要在查询后运行db.commit()才能将事务写入数据库。 您可以阅读文档以了解更多详细信息。 您也不需要获取UPDATE查询。 像这样:

update("UPDATE Orders SET CustomerID = ?, OrderDate = ? WHERE OrderID = ?", (1, 1, 1))

def update(sql, data):
    with sqlite3.connect("notDataBase1.db") as db:
        cursor = db.cursor()
        cursor.execute(sql, data)
        db.commit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM