确保某个值在表格单元格中最多存在 "n" 次。DBMS 侧方法



在DBMS端(我的意思是只涉及DBMS(,哪些是确保数据一致性的常用方法,如果要求一个值最多重复n次?

这将类似于单性约束,但允许最大计数> 1。

我对Mysql DBMS上的通用方法感兴趣,但我想在其他系统中可能非常相似。

我会避免使用DBMS本身外部的软件端解决方案。

传统上,在MySQL中,您将使用触发器执行此操作。

最新版本的 MySQL 支持检查约束。 这使您可以:

  • 使用触发器在单独的表中维护"实体"计数(+1 表示插入,-1 表示删除(。
  • 添加检查约束,以便该值永远不会超过阈值。

我更喜欢这种方法而不是在触发器中进行整个检查。 至少阈值在check约束中是明确的。

最新更新