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 **。 –