【发布时间】:2017-04-20 10:42:45
【问题描述】:
我想使用以下语法更新 SQLite 中的现有行:
UPDATE "table_name" SET ("field_1", "field_2") = ('value_1', 'value_2') WHERE "field_3"='value_3';
official documentation 建议这应该是可能的,其中 UPDATE 语句必须符合这一点:
这给了我这个:
UPDATE qualified_table_name SET column_name_list = expr WHERE expr;
column_name_list 必须在哪里:
(column_name, column_name)
第一个expr 可以是:
(expr, expr)
但是当我将它们全部连接在一起时(就像在我的第一个代码 sn-p 中一样)SQLite 给了我一个语法错误:
near "(": syntax error:
这种格式可能吗?我做错了什么?
【问题讨论】:
-
字符串文字需要单引号,你使用了双引号。 (我不确定“宽松解析”规则是否适用于此。详情:sqlite.org/lang_keywords.html)
-
@peterchen 感谢您解释正确的引号用法,我现在理解得更好了。不幸的是,我仍然遇到同样的错误(幸运的是,我认为我的报价没有问题)。我已经更新了问题
-
@a_horse_with_no_name
sqlite_version();返回 v3.9.2,请作为答案发布,我会接受!
标签: sqlite