【发布时间】:2011-06-29 10:47:06
【问题描述】:
我在 MySQL 中看到了很多关于日期范围的主题,但我似乎仍然无法找到我正在寻找的答案,所以任何帮助都会得到很大的帮助。
我有一个包含 3 列的 MySQL 表,日期 - startTime - finishTime。日期是 MySQL 的“日期”类型字段,开始和结束时间都是“时间”类型的字段。
例如我在数据库中有一个如下条目,我们称之为会话 1;
date = 2011-06-30, startTime = 09:00:00, finishTime = 11:00:00
如果我要添加另一个会话,我需要确保它不会与现有会话冲突。因此,以下操作将失败,因为它位于会话 1 的开始时间和结束时间之间。
date = 2011-06-30, startTime = 10:00:00, finishTime = 12:00:00
因此只能在现有会话的“之后”或“之前”插入记录。
我正在使用 PHP/MySQL,并且基于查询可以运行,如果“有”匹配结果则失败,如果“没有”匹配结果则插入。
提前致谢。
【问题讨论】:
-
当有一个与
09:00 - 11:00的会话并且新会话是11:00 - 13:00时会发生什么。碰撞与否? -
@Rob:那么,
BETWEEN解决方案将不起作用,因为它们会产生冲突。
标签: php mysql date range overlapping