首页 > 解决方案 > Sqlite3 / Python - 使用“?”将列增加 1 和更新,得到语法错误

问题描述

我正在编写一个 python 脚本来计算播放列表中的艺术家并使用 SQL 表来跟踪计数。

但是当我尝试编写一个使用星期列变量的 UPDATE 调用时,我不断收到语法错误。

这是我正在使用的:

conn = sqlite3.connect('rcg_test.db')
c = conn.cursor()
week = "this_week"
artist = "Steve"
x = (week, week, artist,)
c.execute('UPDATE stats SET (?)= ((?) + 1) WHERE name=?;', x)
conn.commit()
conn.close()

...前两个'?应该是周列的名称。

相反,我得到:

“OperationalError:靠近“?”:语法错误”

如果我直接输入“this_week”,它工作正常,变量调用适用于“name=”。

标签: pythonsqlsqlite

解决方案


推荐阅读