使用cron删除旧数据库行?

时间:2011-12-11 19:43:33

标签: php mysql

我的数据库中有一个名为log_events的表。在此表中有一列名为tags。如果该列中的值为“debug”且其放入数据库的日期超过30天,则应删除该条目。我将通过cron运行脚本。如何使用PHP来完成,任何想法? 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以通过cron运行php脚本,也可以使用简单的BASH脚本实现目标:

#!/bin/bash
mysql -u user -pyourpassword dbname<<EOFMYSQL
DELETE FROM table WHERE tags = 'debug' AND date < DATE_SUB(NOW(), INTERVAL 30 DAYS);
EOFMYSQL

然后你可以在crontab事件中调用脚本。

答案 1 :(得分:0)

SQL Query应该看起来像这样

DELETE * FROM tbl_name WHERE column_name = 'debug' and created_at < NOW() - INTERVAL 30 DAYS