MySQL事件,用于在存储的日期和时间添加预订
我正在创建一个预订系统,其中一个要求是自动添加大量“常规”预订 我相信一个简单的解决方案是将所有成员的“常规”天数存储在一个表中,然后安排一个事件,检索所有记录并将每一行作为记录插入bookings表中MySQL事件,用于在存储的日期和时间添加预订,mysql,events,Mysql,Events,我正在创建一个预订系统,其中一个要求是自动添加大量“常规”预订 我相信一个简单的解决方案是将所有成员的“常规”天数存储在一个表中,然后安排一个事件,检索所有记录并将每一行作为记录插入bookings表中 Regulars Table |id | memberid | time | day | group | ____________________________________________ | 1 | 42 | 08:00 | Monday| 2
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 text,因此我需要一种方法将第二天生成为y/m/d。在PHP中,这将是日期('Y-m-d',strottime('next周二')
因此,我想知道实现以下目标的正确方法:
对于返回的每一行
将值(行[memberid]、行[time]、下一行[day]、行[group])插入到bookings(memberid、时间、日期、组)中。此查询为您提供下一周的日期:
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
以下内容导致了错误:选择id、memberid、regularclasses.time、date\u添加(curdate(),间隔6+在集合中查找(t.day、'周一、周二、周三、周四、周五、周六、周日')-工作日(curdate())regularclasses.day)在下一个工作日,regularclasses.groupnumber from regularclasses | | | | | | | | | | |您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以获取下一个工作日使用的正确语法,第7行的regularclasses.groupnumber f将
egularclasses.day
之前的更改为下一个星期的到天的。它不是表中的DAY字段,而是函数中使用的DAY
MYSQL关键字。这就是为什么不应该使用关键字作为表/字段名称(时间、日期等)的一个例子——有时可能会让人困惑。