我已经制作了剧院门票预订网站(用户 - > book和pay / admin->管理从网络界面销售)。 我在mysql数据库中使用一个表来处理票证:每一列都是特定的一天,这一天的每一行都是一个布尔值,知道哪个座位被预订(1个用于预订,0个用于免费)。 但是我想改进这个系统,并且当用户当前在线预订并且还没有支付(最终确定订单)时,还有第三个状态,以防止其他用户预订他的座位。 那么,有没有办法在票证表中仅限时间(约15分钟)保存第三个状态(例如-1)?
提前谢谢
答案 0 :(得分:1)
将onInsert/onUpdate
触发器与SLEEP(<seconds>)
一起使用。
更新:
mysql> delimiter //
mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON tickets
-> FOR EACH ROW
-> BEGIN
-> DO SLEEP(60000);
-> UPDATE tickets SET status=1 WHERE id = NEW.id;
-> END;
-> //
注意触发器只能从root设置。