之间这是我的表SQL约束多个值
Events
Start : Datetime
End : Datetime
我想确保一个新的事件不重叠任何先前输入的事件。我承认我的SQL知识是最好的新手。以下是让我接近一个SELECT语句,但我无法弄清楚如何把它变成一个约束(我会用检查?)
SELECT e.*
FROM Events
WHERE Start BETWEEN e.START and e.END
OR End BETWEEN new.START and new.END
OR (Start < e.Start and End > e.End)
我想像如果类似的东西返回任何东西有重叠。
编辑:更新了“sql”语句以涵盖我的逻辑故障。它最有可能仍然很差。我非常感谢所有的帮助!
为了什么数据库? CHECK约束存在于MySQL上,但未被强制执行。 – 2010-08-17 19:45:25
Microsoft SQL Server。版本9.00。 – MushinNoShin 2010-08-17 19:50:10