python - 如何将数字添加到 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()
解决方案
我怀疑您正在错误地构建更新查询。试试这个版本:
fgr = 1043
ID = 4
cur.executescript("UPDATE \"" + fgr + "\" SET BALANCE = BALANCE + 50 WHERE ID > ?", (ID,))
如果上面仍然没有更新任何记录,那么您的 SQLite 数据库中可能没有任何匹配的记录。尝试通过运行以下选择来确认这一点:
SELECT COUNT(*)
FROM 1043
WHERE ID > 4;
推荐阅读
- regex - 此 Google 表格 REGEXREPLACE 替换了错误的值
- wordpress - AWS 网站托管免费套餐不起作用?
- extract - 如何从目录中提取所有 .tgz 文件
- javascript - 如何从表单中删除特定的单词/空格
- django - Django,过滤mysql数据库
- r - 在 R Shiny 中刷新 Leaflet PolylineDecorator 中的箭头以创建交互式流程图
- apache-spark - 为什么我不能在 Spark 中使用 map 函数更改节点的属性?
- javascript - 如果条件在使用临时数据的脚本中不起作用
- jquery - 如何使用 jQuery 禁用表单下拉菜单?
- azure-devops - 在 DevOps 中将剩余工作分配给产品待办事项