在sqlite中有一个ON CONFLICT
子句用于插入和更新,如果插入或更新导致密钥违规,您可以执行某些操作:http://www.sqlite.org/lang_conflict.html
我想知道它是否可能(可能带有触发器)来模拟UPDATE ON CONFLICT DELETE
子句,这是UPDATE ON CONFLICT REPLACE
的相反(种类)。基本上,如果更新行X
与预先存在的行Y
产生冲突,我想删除行X
(因为其未更新的表单是错误的)。 REPLACE
关键字似乎会删除所有Y
,然后添加X
。我需要保留Y
行的其他列(不存在冲突),而不是新的X
行,因此我无法使用REPLACE
。
答案 0 :(得分:0)
没有内置的ON CONFLICT子句实现此算法。
您必须在代码中实施重复检查和删除/更新。