Php 是否使用cron删除旧数据库行?

Php 是否使用cron删除旧数据库行?,php,mysql,Php,Mysql,我的数据库中有一个名为log\u events的表。此表中有一列名为标记。如果该列中的值为“debug”,并且将其放入数据库的日期超过30天,则应删除该条目。我将通过cron运行脚本。请问如何使用PHP实现这一点,有什么想法吗? 提前感谢您的帮助。您可以通过cron运行php脚本,也可以通过简单的BASH脚本实现您的目标: #!/bin/bash mysql -u user -pyourpassword dbname<<EOFMYSQL DELETE FROM table WHERE

我的数据库中有一个名为
log\u events
的表。此表中有一列名为
标记
。如果该列中的值为“
debug
”,并且将其放入数据库的日期超过30天,则应删除该条目。我将通过cron运行脚本。请问如何使用PHP实现这一点,有什么想法吗?
提前感谢您的帮助。

您可以通过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
#/bin/bash

mysql-u user-pyourpassword dbname您可以通过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
#/bin/bash

mysql-u user-pyourpassword dbnameSQL查询应该如下所示

DELETE * FROM tbl_name WHERE column_name = 'debug' and created_at < NOW() - INTERVAL 30 DAYS
DELETE*FROM tbl_name,其中column_name='debug',并在
SQL查询应该如下所示

DELETE * FROM tbl_name WHERE column_name = 'debug' and created_at < NOW() - INTERVAL 30 DAYS
DELETE*FROM tbl_name,其中column_name='debug',并在
到目前为止您有什么?您以前是否用PHP编写过MySQL驱动的应用程序?您能否更具体地说明在PHP代码、运行cron或SQL查询时遇到的问题?嗨,不,我对PHP MySQL代码没有任何经验。我对php相当陌生,可以理解大部分基础知识,但对mysql还不熟悉。所以我真的很感激任何帮助。。。我可以用我的主机设置cron部分,它是我不知道的实际代码。我相信mysql的日期格式是'YYYY-MM-DD'。到目前为止,你们有什么?您以前是否用PHP编写过MySQL驱动的应用程序?您能否更具体地说明在PHP代码、运行cron或SQL查询时遇到的问题?嗨,不,我对PHP MySQL代码没有任何经验。我对php相当陌生,可以理解大部分基础知识,但对mysql还不熟悉。所以我真的很感激任何帮助。。。我可以用我的主机设置cron部分,它是我不知道的实际代码。我相信mysql的日期格式是“YYYY-MM-DD”。@lawrencerone:你完全错了。首先,它取决于调用
NOW()
的上下文(请参阅)。其次,您可以安全地将
DATE
DATETIME
TIMESTAMP
类型的值与
NOW()进行比较。
@lawrencerone:您完全错了。首先,它取决于调用
NOW()
的上下文(请参阅)。其次,您可以安全地将
DATE
DATETIME
TIMESTAMP
类型的值与
NOW()进行比较。