0
我有一個關於sqlite的問題。Sqlite - 智能插入或替換查詢
假設我創建了一個表:
CREATE TABLE GOODS(ID TEXT PRIMARY KEY NOT NULL, TYPE TEXT, VERSION INTEGER)
那麼一段時間,我想用「插入或更換」這樣的後:
insert or replace into GOODS(ID, TYPE,VERSION) values ('chrome_id', 'chrome', 15);
但我想這個查詢「代替」當且僅當old.VERSION < new.VERSION。
我該怎麼做?
我需要使用查詢(它應該看起來像這樣:)?
1. get row
if(row.VERSION < myVersion){
2. insert or replace ...
}
我聽說過觸發器,但我確實認爲這是解決方案。 THX
NO。如果找不到,則REPLACE INTO將INSERT值,如果找到,則更新它。你需要一個**命令**(查詢只有SELECT)。 –
據我瞭解,替換是:DELETE + INSERT。當我寫「我該怎麼做?」我的意思是一個單一的命令,所以當你說我需要一個命令時,你的意思是什麼? @Rotwang – wantToLearn
您需要一個命令(REPLACE INTO)。它在幕後完成你的命令不是你的業務。你告訴它執行** one **命令,併爲你執行** 2 **。 –