此SQL插入有什么问题?

2024-10-03 04:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图根据已经在该行中的特定ID,将3个值传递到SQLite数据库中的现有行中

cur.execute("INSERT INTO anime (title, img, synopsis) VALUES (?, ?, ?) WHERE malid = ?", [title, img, synopsis, x])

我尝试过各种组合,但不断出现错误,在这种情况下,仅此而已

sqlite3.OperationalError: near "WHERE": syntax error

Tags: id数据库imgexecutesqlitetitlewhereinsert
2条回答

WHERE语句不能在INSERT命令中使用。它仅用于具有选择状态的命令中;像UPDATESELECT。 从逻辑上讲,同时插入和过滤是没有意义的!使用INSERT命令时进入VALUES的所有内容都将添加到表的末尾

不能在INSERT ... VALUES ...语句中使用WHERE子句。

我怀疑您想更新表中的一行,而不是插入新行:

cur.execute("UPDATE anime SET (title, img, synopsis) = (?, ?, ?) WHERE malid = ?", (title, img, synopsis, x))

相关问题 更多 >