INSERT OR REPLACE INTO UserProgress (id, status, level) SELECT
, '
',
WHERE NOT EXISTS (SELECT * FROM UserProgress WHERE id =
AND status = 'COMPLETE');
(在其中适当插入了 , 和 )
http://www.sqlfiddle.com/#!5/a9b82d/1
该EXISTS
部分用于查找表中是否存在id
状态值为的同一行'COMPLETE'
。如果符合此条件,则不会执行任何操作(由于WHERE NOT
)。否则,id
具有指定值的行(如果不存在)将被INSERTed;如果存在则使用指定的值进行更新(由于引起的INSERT OR REPLACE
)。