SQLite检查约束是否支持对现有数据进行检查?我刚刚读了这篇文章https://www.sqlitetutorial.net/sqlite-check-constraint/,我的印象是检查只能应用于插入的数据,不包括现有数据。
下面是我的用例,假设数据库已经有几行整数数据,并且它们都遵循这个规则,没有数据小于最小数据的一半。现在我想对所有要插入的数据强制执行这个规则。
例如,假设我已经有了以下数据:10、11、12、15、16。可以加上6,因为它大于5,而5是最小数据10的一半;但不应允许加上3,因为它小于5。
谢谢!
1条答案
按热度按时间nvbavucw1#
从CREATE TABLE/CHECK约束条件:
CHECK约束的表达式不能包含子查询。
由于获取列的最小值的唯一方法是查询,这意味着不可能使用CHECK约束来实现。
使用触发器:
请参见demo。