【问题标题】:SQLite UPDATE syntax with field list带有字段列表的 SQLite UPDATE 语法
【发布时间】: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


【解决方案1】:

添加了对row values 的支持version 3.15

如果您想使用该功能,您需要升级到最新版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-26
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多