0

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

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

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

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

谢谢!

4

1 回答 1

0

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

于 2015-03-23T23:32:13.447 回答