在MySQL中保存一个事件的多个日期


Save multiple dates of an event in MySQL

我正在构建一个显示"本月事件"的系统,按天和小时列出。

创建事件时,我设置了开始日期、结束日期和小时。

假设一个事件开始于07-10-2011,结束于07-12-2011。问题是,在此日期范围内的某些日子将不具有该事件。例如,该事件可能在所有天的同一时间发生,除非有几天它不会发生或在不同的时间发生(想象一场演出的开幕日期与其他时间不同)。

我正在使用PHP, MySQL和Codeigniter,我的怀疑是关于正确的方式来保存这些日期在数据库中。另一个包含所有日期和事件ID的表,还是将它们全部保存在事件行的字段中?还是别的什么?

谢谢

我将创建两个表。第一个表是events表,另一个是events_dates表。这样你就可以创建一个单一的事件,并有尽可能多的日期链接到它。

events_dates表可以是您想要的详细或简单。如果是我,我可能会有一个start_timeend_time列,以及一个event_id和任何你想要的数据。

我会将范围日期存储在一个表中,然后创建一个"异常"表,您可以在其中存储异常。