sqlite交叉表更新令人沮丧的错误

时间:2012-11-20 10:03:37

标签: sql sqlite sql-update

由于某种原因,以下查询在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] = "";

1 个答案:

答案 0 :(得分:1)

UPDATE命令只处理一个表,因此永远不必为要更新的列指定表。 将tbl1.放在SET

... SET [some_field1] = ...