【发布时间】:2019-09-13 16:39:18
【问题描述】:
我正在尝试将数据插入到我的 SQL 数据库中,但是收到以下错误:
sqlite3.OperationalError:无法识别的令牌:“7nbtkq”。
请注意,值 7nbtkq 是我尝试更新的数据之一的公钥。
我查看了其他几个解决方案,但它们要么是不适用于我的不同方案,要么它们的解决方案对我不起作用。
sql = """UPDATE parent_reply SET parent_id = '{}', comment_id = '{}', parent = '{}', comment = '{}', subreddit = {}, unix = {}, score = {} WHERE parent_id ={};""".format(parentid, commentid, parent, comment, subreddit, int(time), score, parentid)
c.execute(sql)
我希望我的 SQL 数据库能够使用相应记录中的这些新值进行更新。
【问题讨论】:
-
SET parent_id = '{}' ... WHERE parent_id ={}看起来占位符之一是错误的。不应该都用引号括起来吗? -
顺便说一句,为什么用它当前的值更新 parent_id?
-
@Serg 我真的只是想更新评论 ID 等数据。你认为我应该删除 `
SET parent_id = '{}' . . . WHERE parent_id = '{}'中的parent_id = '{}',因为无论如何它必须是由于 WHEN ? -
我认为没有理由在
SET子句中包含parent_id = '{}'。 -
@Serg 好的,感谢您的帮助!