UPDATE语句在sqlite中不起作用

时间:2013-09-28 12:42:32

标签: sqlite

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

UPDATE Movies SET 'From'=2 WHERE 'Name'="foo";

我在windows中使用sqlite3.exe(命令提示符)。虽然没有生成错误消息,但表中没有任何更改。我用几个gui工具检查了数据库,我确信UPDATE什么都不做。

'From'的类型为整数,'Name'是文本。

2 个答案:

答案 0 :(得分:3)

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

交换引号似乎有效:

UPDATE Movies SET "From"=2 WHERE "Name"='foo';

答案 1 :(得分:1)

那些不是好的列名。两者都是关键词,最好避免,而且根本不能解释。

执行SELECT以查看UPDATE中与WHERE子句匹配的行数。如果没有人回来,你有答案。

你提交了更新吗?是否启用了自动提交?