如何使用PHP在设定日期自动从mysql中删除
我在数据库的ad表中添加了一些行,它们的属性包括创建日期和到期日期 我需要php脚本自动删除其到期日期已达到的行 请协助我的项目。 感谢您您可以使用MySQL在这些记录过期时自动删除它们:如何使用PHP在设定日期自动从mysql中删除,mysql,Mysql,我在数据库的ad表中添加了一些行,它们的属性包括创建日期和到期日期 我需要php脚本自动删除其到期日期已达到的行 请协助我的项目。 感谢您您可以使用MySQL在这些记录过期时自动删除它们: CREATE EVENT delete_expired_101 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 WEEK DO DELETE FROM my_table WHERE id = 101; 或定期自动清除所有过期记录: CREATE EVENT del
CREATE EVENT delete_expired_101
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 WEEK 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();
CREATE EVENT delete\u all\u过期
按计划每小时做一次
从my_表中删除到期
您要查找的是crontab
使用它,您将能够安排脚本在确定的时间内运行,例如:
每隔5分钟运行deleteeexpiredrows.php
每隔2小时运行updateOnlineUsers.php
Cron非常容易使用。检查这个
在您的web主机上设置crontab:
/path/to/hosting/php/home/user/public\u html/script.php
php的路径可能会有所不同,因此请与主机联系以获取此信息。有关crontab的更多信息,请访问stackoverflow。
注意:您可能需要检查您的web托管服务是否支持crontab。
完成此操作后,您只需创建PHP脚本来删除比当前时间早的每一行。事件日程安排必须在虚拟主机或web主机上可用
CREATE EVENT delete_expired_101
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 3 WEEK 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();