php - MySQL 在表中存储有限时间的值

标签 php mysql

我制作了一个剧院门票预订网站(用户->预订和付款/管理->从网络界面管理销售)。 我使用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/

相关文章:

Python,如何实现并行进程

php - 使用 PHP 将数字添加到 MySql 值

mysql - Postfix mysql不同模式和测试用户

php - laravel authorizeResource 总是拒绝访问

php - 用 PHP 连接两个 MySQL 表

php - 在 PHP 中使用 "(int)"输入安全性?

php - 拉维尔 5 : MassAssignmentException in Model. PHP

mysql - 避免在 Node js 中的 SQL LIKE 查询中注入(inject)

PHP : Fixing server time (localhost)

php - MySQL 列出特定字段上的所有重复项,并且仅当日期在另一个字段日期 <= 1 之间且具有复杂条件时