0

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

先感谢您

4

1 回答 1

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;
    -> //

请注意,触发器只能从根设置。

于 2012-11-25T21:43:20.693 回答