首页 > 解决方案 > 如何将数字添加到 sqlite3 列值

问题描述

能够sqlite3使用此功能成功更新列值

fgr = 1043

con = sqlite3.connect("test.db")
cur = con.cursor()
cur.executescript("UPDATE '{}' SET BALANCE=BALANCE+50".format(fgr))
con.commit()
con.close()

我想使用row Id大于来更新它4,当我运行它成功执行的函数但是当检查column没有更改中的数据时已应用。

功能

fgr = 1043

con = sqlite3.connect("test.db")
cur = con.cursor()
cur.executescript("UPDATE '{}' SET BALANCE=BALANCE+50".format(fgr))
cur.executescript("UPDATE '{}' SET BALANCE=BALANCE+50 WHERE ID > ?".format(fgr, (4),))
con.commit()
con.close()

标签: pythonsqlite

解决方案


我怀疑您正在错误地构建更新查询。试试这个版本:

fgr = 1043
ID = 4
cur.executescript("UPDATE \"" + fgr + "\" SET BALANCE = BALANCE + 50 WHERE ID > ?", (ID,))

如果上面仍然没有更新任何记录,那么您的 SQLite 数据库中可能没有任何匹配的记录。尝试通过运行以下选择来确认这一点:

SELECT COUNT(*)
FROM 1043
WHERE ID > 4;

推荐阅读