有没有办法在从插入时间计算一定时间后从mysql中删除一行

时间:2012-12-13 13:29:09

标签: php mysql cron

我要求在创建时间24小时后删除一行。在PHP / MySQL中有没有办法做到这一点?

时间必须从行的插入时间开始计算,24小时后必须删除。虽然我们可以编写cron来检查每一分钟,但是当添加的行数不多时,cron将在不使用的情况下运行。还有其他机制吗?

3 个答案:

答案 0 :(得分:2)

如果您的mySQL版本> = 5.1.6,那么有一个很好的功能适用于这种情况 - mySQL事件。

以下是一个使用示例 - http://phpmaster.com/working-with-mysql-events/

答案 1 :(得分:0)

是的,您必须定期检查。另一种方法是确定现有行是否为24小时。如果该行超过24小时,则不执行该操作,否则执行该操作。同时你可以运行你的cron说每30分钟删除一次超过24小时的行。

答案 2 :(得分:-1)

使用Scheduled Tasks(或SQL Scheduler,或您最喜欢的Scheduling工具)在服务器上创建一个任务,以便在您需要的任何时间间隔执行它。