MySQL将值存储在表中的有限时间内

时间:2012-11-25 21:41:15

标签: php mysql

我已经制作了剧院门票预订网站(用户 - > book和pay / admin->管理从网络界面销售)。 我在mysql数据库中使用一个表来处理票证:每一列都是特定的一天,这一天的每一行都是一个布尔值,知道哪个座位被预订(1个用于预订,0个用于免费)。 但是我想改进这个系统,并且当用户当前在线预订并且还没有支付(最终确定订单)时,还有第三个状态,以防止其他用户预订他的座位。 那么,有没有办法在票证表中仅限时间(约15分钟)保存第三个状态(例如-1)?

提前谢谢

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设置。