MySQL删除超过X分钟的记录?

Saj*_*ikh 11 php mysql sql

我搜索了很多,找到了一些最终没有为我工作的解决方案,并且无法理解为什么.

我有一个带有时间戳列的表.此列的MySQL类型是"datetime".我从PHP中插入以下表格.

date('Y-m-d H:i:s')
Run Code Online (Sandbox Code Playgroud)

这进入,看起来像MySQL日期时间的正确值.

2012-06-28 15:31:46
Run Code Online (Sandbox Code Playgroud)

我想使用此列删除比10分钟更早的行.我正在运行以下查询,但它不起作用.它影响0行.

DELETE FROM adminLoginLog WHERE timestamp < (NOW() - INTERVAL 10 MINUTE);
Run Code Online (Sandbox Code Playgroud)

谁能解释一下我做错了什么以及为什么它不能正常工作?

谢谢.

Mar*_*ams 17

由于TIMESTAMP()是一个返回当前时间戳的内置函数,因此查询将永远不会返回任何结果.

尝试将列包裹在后面的刻度中,让MySQL知道你的意思是列,而不是保留字:

DELETE FROM adminLoginLog WHERE `timestamp` < (NOW() - INTERVAL 10 MINUTE);
Run Code Online (Sandbox Code Playgroud)