我試圖對我做的,看起來像這樣一個示例表執行SQL查詢:SQLite的UPDATE語句是做什麼,如果列報
name text number ---------------------------------------------------------- target the cell to operate on 5 cruft cell here to simulate stuff happening 7
這是SQL查詢我試圖執行:
UPDATE data SET 'name'='target', 'number'=2 WHERE 'name'='target';
我預期這對第一行中改變5至2.
當我在命令行源碼versio試圖SQLite Database Browser執行此,並最終在3.7.13中,它報告沒有錯誤,但也沒有更改所要求的條目。奇怪的是,如果引號從字符串'target'中刪除,我會收到一條錯誤消息,說明no such column: target
即使'target'沒有被用作列名。刪除'name'='target',
部分不會改變任何內容。
最終,我通過從WHERE子句中刪除單引號'name'
解決了即時問題,這是混淆。
UPDATE data SET 'name'='target', 'number'=3 WHERE name='target';
有誰知道爲什麼會這樣,不然我怎麼能工作引號回,以防止一個假想的列名在它的空間?