PHP / MYSQL过期时删除数据

时间:2013-04-25 13:38:33

标签: php mysql

我有一个自定义分类广告网站,在mySQL中我有date_created和date_expire。我想创建一个脚本,在广告过期时将其删除。 mySQL表称为:“ads”,并包含以下列: “ID” “名称” “电子邮件” “AD_HEADLINE” “创建日期” “data_expirare”(这是广告过期的日期)

以下是我尝试过的内容:http://pastebin.com/gD56BAWY

4 个答案:

答案 0 :(得分:5)

您想要做的是每天运行一个cron作业(0 0 * * *)。在这种情况下,您将创建一个PHP文件,然后在其中运行以下查询:

DELETE FROM ads WHERE data_expirare < NOW();

答案 1 :(得分:4)

delete from ads where data_expirare < NOW();

在需要时执行。

答案 2 :(得分:1)

似乎应该是自动化的。看一下MySQL事件系统上的这篇文章,并用它来删除过期的数据: http://mrjoelkemp.com/2011/04/mysql-event-to-remove-expired-data/ 基本上你可以从之前的建议中选择最好的DELETE脚本并定期执行。在他的例子中,它每分钟运行一次,但你可能会把它设置为更零星的东西。

以下是文档的相关链接: http://dev.mysql.com/doc/refman/5.1/en/events.html

答案 3 :(得分:-5)

你可以使用CRON来做

delete * from ads where data_expirare > NOW();

每天例如。