【问题标题】:Frustrating error with sqlite cross table updatesqlite 交叉表更新令人沮丧的错误
【发布时间】:2012-11-20 10:03:36
【问题描述】:

由于某种原因,以下查询在 sqlite 中返回以下错误消息。我通常使用交叉表连接,但因为这对于 sqlite 中的更新是不可能的,所以它是一个子查询。这可能是眼睛疲倦的情况,但我似乎看不到问题所在。任何帮助表示赞赏。

在“.”附近: 语法错误

  UPDATE
    tbl1
    set tbl1.[some_field1] = (SELECT tbl2.[some_fieldA]||substr(tbl2.[some_fieldB],1,2)     
                              FROM tbl2
                               WHERE tbl2.[some_fieldC] = tbl1.[some_field2])
  WHERE
    tbl1.[file_name] = "some_arbitrary_file.txt"
    AND tbl1.[some_field1] IS NULL 
    OR tbl1.[some_field1] = "";

【问题讨论】:

    标签: sql sqlite sql-update


    【解决方案1】:

    UPDATE 命令只处理一个表,因此无需为要更新的列指定表。 在SET 中删除tbl1.

    ... SET [some_field1] = ...
    

    【讨论】:

    • 天啊,我知道它必须是这样简单的东西。太感谢了。由于表名是正确的,解释器不会同意它似乎令人惊讶。然后我再次确定他们有他们的理由。一切顺利。
    猜你喜欢
    • 1970-01-01
    • 2011-04-03
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多