我制作了一个剧院门票预订网站(用户->预订和付款/管理->从网络界面管理销售)。 我使用mysql数据库中的一个表来处理门票:每一列都是特定的一天,这一天的每一行都是一个 bool 值,用于了解预订了哪个座位(1表示预订,0表示免费)。 但我想改进这个系统,并在用户当前在线预订且尚未付款(最终订单)时设置第三种状态,以防止其他用户预订座位。 那么,有没有办法在门票表中仅在有限的时间内(大约15分钟)保存第三种状态(例如-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 设置。
关于php - MySQL 在表中存储有限时间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13555774/