【问题标题】:MySQL/Percona: Date Range data integrity (via natural key)MySQL/Percona:日期范围数据完整性(通过自然键)
【发布时间】:2015-03-23 21:48:09
【问题描述】:

我正在创建一个日程表,让用户能够在他们的网站上安排某些项目。该表基本上是这样的:

schedules
---------
item_id
start_date
end_date
...

我正在尝试创建一个有意义的自然键(UNIQUE 键)。从技术上讲,自然键应该类似于 [item_id, date range],其中日期范围不能重叠。但显然,我需要在现实世界中可行的东西:)

我可以做些什么来设置一个有意义的唯一/自然键吗?

谢谢!

【问题讨论】:

    标签: mysql date-range unique-key percona natural-key


    【解决方案1】:

    假设您的意思是日期范围不能重叠 对于给定的 id 那么,不,我认为没有任何方法可以仅使用唯一键约束来做到这一点。但是您可以要求 id 为非 null 并添加一个 before insert/update 触发器,如果​​结果数据重叠,则将 id 设置为 null(强制出错)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 2012-11-07
      • 1970-01-01
      • 2017-04-28
      相关资源
      最近更新 更多