2017-04-20 99 views
1

我想使用下面的語法來更新SQLite的現有行:SQLite的UPDATE語法

UPDATE "table_name" SET ("field_1", "field_2") = ('value_1', 'value_2') WHERE "field_3"='value_3'; 

official documentation表明,這應該是可能的,其中的UPDATE語句都必須遵守這樣的:

SQLite UPDATE syntax diagram

,給了我這樣的:

UPDATE qualified_table_name SET column_name_list = expr WHERE expr; 

column_name_list必須是:

SQLite UPDATE column_name_list

(column_name, column_name) 

而且其中第一expr可以是:

(expr, expr) 

但是,當我插上它們放在一起(在我的第一個代碼段)的SQLite給我語法錯誤:

near "(": syntax error: 

這種格式可能嗎?我究竟做錯了什麼?

+1

字符串文字需要單引號,您已使用雙引號。 (我不確定如果「輕鬆解析」規則適用於此,詳細信息:https://sqlite.org/lang_keywords.html) – peterchen

+0

@peterchen感謝您解釋正確的引號用法,我現在明白了。不幸的是,我仍然得到同樣的錯誤(我認爲運氣好的話,我的報價不是問題)。我已更新 – NoChecksum

+0

@a_horse_with_no_name'sqlite_version();'返回v3.9.2,請發佈爲答案,我將接受! – NoChecksum

回答