2014-01-06 35 views
0

我想寫一個sql語句,如果某個行ID不存在其他更新,則執行插入操作。 所以我已閱讀和下面應該工作,但它只是凍結我的SQLite數據庫瀏覽器:SQL插入其他更新不起作用

任何想法?

INSERT INTO details 
(id, name, age) 
VALUES 
(「1」, "mike", "22") 
ON DUPLICATE KEY UPDATE 
name = 「mike」 
age = 「22」 
+2

SQLite!= mysql –

+0

至少,在複製後需要逗號之間的兩個字段 –

+0

使用單個或者在DUPLICATE部分使用雙引號,你現在還有別的東西。 – Mihai

回答

1

很難找到關於這個問題目前的職位,但現在看來,「對重複密鑰更新」中不存在的SQLite。你需要找到一種替代方法來做到這一點。這兩種方法我已經找到的

1)關於衝突...更換http://www.sqlite.org/lang_conflict.html不更新,但會刪除給定行,然後用新值將其插入和

2)的try/catch子句,像這樣:http://blog.client9.com/2007/11/21/sqlite3-and-on-duplicate-key-update.html這是以編程方式從衝突中捕獲錯誤,並在出現錯誤時執行更新

+0

謝謝隊友!我需要的是INSERT OR REPLACE – userMod2