MySQL/Percona : Date Range data integrity (via natural key)

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

我正在创建一个时间表,让用户能够在其网站上安排某些项目。该表基本上如下所示:

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

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

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

谢谢!

最佳答案

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

关于MySQL/Percona : Date Range data integrity (via natural key),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29221063/

相关文章:

php - 如何将 Angular Datepicker UI 值插入 MySQL 列?

mysql - 查询被屏蔽的用户

tsql - 将相邻、重叠和嵌入的范围合并为互斥范围

ruby-on-rails - 如何查找两个范围内的共同日期

sql-server - 使 varchar(500) 数据列唯一

mysql - 如何找到下一个免费的唯一 4 位数号码

c# - mysql表没有得到更新

php - 使用 Android Studio 和 PHP 的 Android 到 Wamp 服务器连接

sql - 在 PostgreSQL 8.0 中获取最大值

postgresql - 外键引用唯一的复合键或单个主键