Mysql datetime相关的行,使用cronjob删除

问题描述 投票:-3回答:1

我正在尝试从数据库中删除超过30分钟的行。我目前正在使用CRON进行此操作。 CRON工作正常,但查询一定是错误的,我知道这是因为所有行都将被删除,而不仅仅是30分钟以上的行。

这是我的PHP

include 'Database.php';

try{
    $dbmain = new Database();
    $db = $dbmain->DBConnector();
}catch(Exception $e){
    echo $e;
}

$statement = $db->prepare("DELETE FROM `Proxies` WHERE `Expiry` < DATE_SUB(NOW(), INTERVAL 30 MINUTE)");
$statement->execute();

这是我从phpmyadmin定义的expiry列:

phpmyadmin image

php mysql cron rows
1个回答
0
投票

将创建一个事件,如:

CREATE EVENT `cleanup_event` 
ON SCHEDULE EVERY 30 MINUTE 
DO 
DELETE FROM `Proxies` WHERE `Expiry` < DATE_SUB(NOW(), INTERVAL 30 MINUTE)
© www.soinside.com 2019 - 2024. All rights reserved.