2015-09-06 105 views
0

我想在php中运行一个mysql查询,以便它将删除当前时间和date_time列中存储的日期之间的差异大于2的所有行天。 我正在尝试这样做。当前时间和数据库中的其他时间之间的差异mysql

$query="DELETE FROM fomrad_requests WHERE TIMESTAMPDIFF(SECOND,date_time,now())>=2*24*60*60"; 
    $conn->query($query); 

你能告诉我我做错了什么吗? 谢谢!

+0

为什么你应该做错什么? –

+0

@Dawid Ferenczy,我回答Gordon的回答,说我在发帖后看到代码有效。我刚刚插入了错误的数据库名称。对不起,伙计们... – horatiu11

+0

我的意思是不同的 - 你问你在做什么错。但是你没有描述,什么都行不通,你得到了什么错误等等。这样,没有人能够帮助你,因为没有人知道,你需要什么帮助。顺便说一句,如果你使用错误的数据库名称,错误信息必须是“DB xyz不存在”,所以它必须是显而易见的,不是吗?无论如何,我很高兴你自己解决:) –

回答

2

如何更简单的东西,如这样?

delete fr 
    from fomrad_requests fr 
    where date_time <= date_sub(now(), interval 2 day); 
+0

或'where date_time <= now() - interval 2 day;' – 2015-09-06 23:36:29

+0

@Dagon。 。 。我很担心在这样的表达式中使用'now()'。这真的不是'日期时间'。这是一个字符串或数字,取决于上下文。 –

+0

好吧,我再也不会这样做了。 :-)实际上,读过你写的一些东西,我总是会对你的智慧在这样的事情上低下一点 – 2015-09-06 23:43:00

相关问题