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上有一個唯一的索引來使其工作,它基本上說「插入,如果它不與現有數據/索引衝突,否則忽視」。 –