我有一个关于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);但是我希望这个查询“替换”iff old.VERSION < new.VERSION。
我怎么能这么做?
我是否需要使用2查询(应该如下所示)?
1. get row
if(row.VERSION < myVersion){
2. insert or replace ...
}我听说过扳机,但我认为这是解决办法。thx
发布于 2017-02-14 09:13:16
使用插入语句的SELECT表单可以控制插入了多少行:
INSERT OR REPLACE INTO Goods(ID, Type, Version)
SELECT 'chrome_id', 'chrome', 15
WHERE NOT EXISTS (SELECT *
FROM Goods
WHERE ID = 'chrome_id'
AND Version >= 15);https://stackoverflow.com/questions/42213053
复制相似问题