我想制作一个表,其中的条目在插入 PHP 和 MySQL 后 24 小时后过期。
理想情况下,我希望每次用户与我的服务器交互时运行“删除过程”,以删除旧条目。由于这种情况更为频繁,因此您应该不会有大量数据需要删除,因此它应该只需要几毫秒。
我为每个条目赋予了日期/时间附加值。
我该怎么做?
你可以使用MySQL的事件调度程序 either:
-
当这些记录过期时自动删除它们:
CREATE EVENT delete_expired_101
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 24 HOUR DO
DELETE FROM my_table WHERE id = 101;
-
定期自动清除所有过期记录:
CREATE EVENT delete_all_expired
ON SCHEDULE EVERY HOUR DO
DELETE FROM my_table WHERE expiry < NOW();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)