存储日期活动

时间:2014-12-18 17:28:37

标签: php mysql

我有一个关于将事件存储在带有日期的数据库中的结构性MySQL问题。

假设组织者会选择一系列日期,例如:

  

[ “19/12/2014”, “20/12/2014”, “26/12/2014”, “27/12/2014”, “2015年2月1日”,“2015年3月1日”, “2015年9月1日”, “2015年10月1日”]

事件需要保存到表中,我正在考虑创建一个具有结构的多对多表:

event_id  |  start_date  |  end_date  

现在考虑它时,这意味着我需要将日期数组转换为具有开始日期的对象数组。
现在替代方法是创建一个如下所示的表:

event_id  |  event_date 

并为每个日期创建单独的记录 显然,目的是检查在给定日期范围内应将哪些事件发送回客户端。

这两个选项中哪一个看起来很普遍/可行? 这对于设置非常重要。

2 个答案:

答案 0 :(得分:0)

取决于。如果第一个事件在第二个事件的日期结束,您可以使用event_id | event_date,但除此之外我会选择第一个选项。

如果您没有某种结束日期,那么您将如何告诉客户该事件的日期范围?

答案 1 :(得分:0)

我会选择包含事件持续时间(以秒为单位)的设置 - 它非常灵活。

event_id (int) | start_date (datetime) | duration (int)

在这种情况下,当事件持续时间无关紧要时 - 在其他情况下将0放在那里只需将数字设为o秒,这样您就可以存储持续数天或几小时或几分钟的事件。