在DBMS端(我的意思是只涉及DBMS(,哪些是确保数据一致性的常用方法,如果要求一个值最多重复n次?
这将类似于单性约束,但允许最大计数> 1。
我对Mysql DBMS上的通用方法感兴趣,但我想在其他系统中可能非常相似。
我会避免使用DBMS本身外部的软件端解决方案。
传统上,在MySQL中,您将使用触发器执行此操作。
最新版本的 MySQL 支持检查约束。 这使您可以:
- 使用触发器在单独的表中维护"实体"计数(+1 表示插入,-1 表示删除(。
- 添加检查约束,以便该值永远不会超过阈值。
我更喜欢这种方法而不是在触发器中进行整个检查。 至少阈值在check
约束中是明确的。