MySQL事件在存储的日期和时间添加预订

时间:2016-05-05 10:35:26

标签: mysql events

我正在创建一个预订系统,其中一个要求是自动添加大量“常规”预订。

我相信一个简单的解决方案是将所有成员的常规'天存储在一个表中,然后有一个预定的事件来检索所有记录并将每一行作为记录插入预订表中。

 Regulars Table

|id  | memberid  | time  |  day  |  group  |
____________________________________________
| 1  | 42        | 08:00 | Monday|  2      |
| 2  | 42        | 08:00 | Friday|  1      |
| 3  | 25        | 11:00 | Friday|  1      |
____________________________________________

由于日期存储为VARCHAR文本,我需要一种方法来生成第二天y / m / d。在PHP中,这将是日期('Y-m-d',strtotime('下周二'));

所以我想知道实现以下目标的正确方法:

返回的每一行 插入预订(memberid,时间,日期,组)值(行[memberid],行[时间],下一行[日],行[组]

1 个答案:

答案 0 :(得分:0)

此查询为您提供下周工作日:

select id,
       memberid,
       t.time,
       date_add(curdate(), 
                interval 6 + 
                FIND_IN_SET(t.day,'Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday') 
                - weekday(curdate()) day) as nextWeekDay
       ,t.group         
from T

SqlFiddle demo