sqlite3 将"ON CONFLICT"子句设置为"DELETE FROM table"



在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.

没有内置的 ON CONFLICT 子句来实现此算法。

您必须在代码中实现重复检查和删除/更新。

最新更新