UPDATE 语句在 sqlite 中不起作用

Jos*_*ani 1 sqlite

我使用以下命令来更新数据库中的字段:

UPDATE Movies SET 'From'=2 WHERE 'Name'="foo";
Run Code Online (Sandbox Code Playgroud)

我在 Windows 中使用 sqlite3.exe(命令提示符)。尽管没有产生错误消息,但表中没有任何变化。我用几个 GUI 工具检查了数据库,我确信 UPDATE 没有任何作用。

“From”是整数类型,“Name”是文本。

Don*_*ows 5

您遇到的问题是您的引用错误。SQLite 遵循 SQL 标准,并指定要使用的引号字符:\'\xe2\x80\xa6\'用于字符串,"\xe2\x80\xa6"用于标记(例如用作列或表名称的特殊名称)。有时它无论如何都会设法猜测你的意思并弥补错误,但它不能使用该WHERE子句,因为这在语法上是正确的(如果绝对没有帮助):

\n\n

交换引用似乎有效:

\n\n
UPDATE Movies SET "From"=2 WHERE "Name"=\'foo\';\n
Run Code Online (Sandbox Code Playgroud)\n