在SQLite UPDATE中模拟ORDER BY以处理唯一性约束

在SQLite UPDATE中模拟ORDER BY以处理唯一性约束,第1张

在SQLite UPDATE中模拟ORDER BY以处理唯一性约束

出现问题是正确的,因为SQLite会在每次更新行之后而不是在语句末尾或事务结束时检查约束。

我看到此问题的解决方法(SQLite的实现不

UPDATE
正确)。假设该
priority
列没有任何负值,我们可以将它们(负值)用作临时值,以避免
UNIQUE
约束错误:

UPDATE table1 SET priority = - (priority + 1) WHERe priority > 1 ;UPDATE table1 SET priority = - priority WHERe priority < 0 ;


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5662346.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存