我搜索了很多,找到了一些最终没有为我工作的解决方案,并且无法理解为什么.
我有一个带有时间戳列的表.此列的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)