自动删除旧数据

时间:2016-11-04 07:22:48

标签: php mysql

我有一张表格,如果时间早于5天,我希望自动删除旧数据。 该表如下所示:http://de.share-your-photo.com/e6508ee7a6。 有人能帮我吗?以下代码不起作用

<?php
require_once __DIR__ . '/connection.php';
$variants_remove='DELETE FROM drucker AS drucker WHERE datediff(now(), drucker.zeit) > 5';
$req = $dbConnect->query($variants_remove);
?>

3 个答案:

答案 0 :(得分:2)

您需要编写与您编写的脚本相同的脚本,并将其设置为cron。数据将自动删除

答案 1 :(得分:0)

  

如果你的linux / debain / etc等你可以使用crontab。

打开你的终端 并输入

$ crontab -e

这将让你编辑所有crwonjobs
终端将输出如下内容:

Crontab edit

然后你可以在所有# ...行之后添加一个像这样的新Cron:

$ 1 2 3 4 5 /path/to/your/autodelete.php

for explanaiton:

1: Minute (0-59)
2: Hours (0-23)
3: Day (0-31)
4: Month (0-12 [12 == December])
5: Day of the week(0-7 [7 or 0 == sunday])
/path/to/command – Script or command name to schedule

如果您不想使用小时和天,那么请写一个*而不是Int

$ 50 * * 6 2 /path/to/your/autodelete.php


您可以阅读所有here

答案 2 :(得分:0)

更改为

WHERE drucker.zeit) < NOW() - INTERVAL 5 DAY

如果您希望从今天上午的午夜开始备份,则可以使用CURDATE()代替NOW()