我正在使用python来更新Sqlite表中的条目。 我正在使用的命令是:
handle.execute("UPDATE RECORD set NAME=%s DEVICE=%s PROJECT=%s IP=%s COMMENT=%s where ID = %s"%(arg[2],arg[3],arg[4],arg[5],arg[6],arg[1]))
对此我收到的错误是:
sqlite3.OperationalError: near "DEVICE": syntax error
我无法理解Device
的具体错误。我也检查了变量是否符合预期。数据库有一个名为device的列,可以使用此python文件打开/访问和编辑数据库。
答案 0 :(得分:1)
设置项目之间缺少逗号。
除此之外,不是字符串格式化,而是pass parameters来阻止SQL注入:
handle.execute(
"""UPDATE RECORD
SET NAME=%s, DEVICE=%s, PROJECT=%s, IP=%s, COMMENT=%s
WHERE ID = %s""",
(arg[2], arg[3], arg[4], arg[5], arg[6], arg[1]))
<强>更新强>
如果您坚持使用字符串格式,则应引用%s
:'%s'