我已经搜索了很多,发现了一些解决方案,这些解决方案最终对我不起作用,并且不明白为什么。
我有一个带有时间戳列的表。该列的MySQL类型为“ datetime”。我从PHP中将以下内容插入到该表中。
date('Y-m-d H:i:s')
输入,看起来像MySQL日期时间的正确值。
2012-06-28 15:31:46
我想使用此列删除早于10分钟的行。我正在运行以下查询,但无法正常工作。它影响0行。
DELETE FROM adminLoginLog WHERE timestamp < (NOW() - INTERVAL 10 MINUTE);
谁能阐明我在做什么以及为什么它无法正常工作?
谢谢。
由于TIMESTAMP()是返回当前时间戳的内置函数,因此您的查询将永远不会返回任何结果。
尝试将列换行,以使MySQL知道您的意思是列,而不是保留字:
DELETE FROM adminLoginLog WHERE `timestamp` < (NOW() - INTERVAL 10 MINUTE);