EXISTS如何检查DEVID是否已经存在,然后做下面的查询插入,如果DEVID不存在:如果不是在SQLite的
INSERT into profiles (devID,alert) VALUES ("ff",1) ;
PS:我已经看到this解决方案,SO ,但不知道如何修改我基于该解决方案的查询。
任何帮助表示赞赏。
EXISTS如何检查DEVID是否已经存在,然后做下面的查询插入,如果DEVID不存在:如果不是在SQLite的
INSERT into profiles (devID,alert) VALUES ("ff",1) ;
PS:我已经看到this解决方案,SO ,但不知道如何修改我基于该解决方案的查询。
任何帮助表示赞赏。
INSERT INTO profiles (devID, alert)
SELECT 'ff', 1
WHERE NOT EXISTS (SELECT 1 FROM profiles WHERE devID = 'ff');
根据你的链接:
INSERT INTO profiles (devID,alert)
SELECT "ff", 1
WHERE NOT EXISTS (SELECT 1 FROM profiles WHERE devID ="ff");
这可能会为设备插入多行,如果它们具有不同的“alert”值,则表示不太正确。 –
你是对的 - 我没有阅读只有存在Id的部分,我想他希望所有组合都不存在。编辑 –
这需要一个唯一索引,你可能想提及它。 –
我看不到在这里执行的复制'ff'的检查 – user1400538
@ user1400538你需要在devID上有一个唯一的索引来使其工作,它基本上说“插入,如果它不与现有数据/索引冲突,否则忽视”。 –