我有两张桌子,预订和付款
结构如下:
预订
id_booking(主要)
id_schedule
id_user
date_booking
date_expired
付款
id_payment(小学)
id_booking(外键)
status_payment
我想用这些条件制造扳机
- 如果我在预订中插入数据,那么付款中的状态将自动更改为“未付款”' 付款中的 id_booking 会在预订中插入最后 id_booking
- 如果 date_expired date_booking 后超过1小时,状态将更新为“已过期”状态'
- 如果 date_expired 在 date_booking 之间的1小时范围内,状态将更新为“已付款”#39;
示例:
预订
id_booking:1
id_schedule:1
id_user:1
date_booking:2017-01-06 15:44:49
date_expired:null
付款
id_payment:1
id_booking:1
status_payment:' unpaid`
谢谢
答案 0 :(得分:0)
应在插入时触发第一个触发器:
CREATE TRIGGER `trigger_name`
AFTER INSERT ON `booking` FOR EACH ROW
INSERT INTO payment (id_booking, status_payment)
VALUES (NEW.id_booking, "unpaid")
对于第二个和第三个触发器,您需要使用shedular的mysql事件,请参阅: MySQL trigger: Update when reaching a certain datetime和http://dev.mysql.com/doc/refman/5.7/en/event-scheduler.html