如果已经过了选定的时间,则删除mysql数据库中的行

时间:2014-08-20 11:19:28

标签: php mysql

我想在经过一段时间后从数据库中删除行,而且我的代码不起作用,我不确定我哪里出错了。我计划将时间量更改为1个月,但目前测试时间为1分钟。

require 'core/init.php';

$remOld = "DELETE * FROM `ratings` WHERE `ratedate` < NOW() - INTERVAL 1 MINUTE";

if ($remOld = $db->query($remOld)){
    echo ('records removed');
}else{
    echo ('didnt remove records');
}

任何指针都会非常感激。

2 个答案:

答案 0 :(得分:1)

从查询中移除*并关闭查询中的左括号。

     DELETE  FROM `ratings` WHERE `ratedate` < (NOW() - INTERVAL 1 MINUTE)

答案 1 :(得分:0)

试试这个

$remOld = "DELETE FROM `ratings` WHERE `ratedate` < NOW() - INTERVAL '1 MINUTE'";

if ($remOld = $db->query($remOld)){
    echo ('records removed');
}else{
    echo ('didnt remove records');
}