一尘不染

MySQL删除记录早于X分钟?

sql

我已经搜索了很多,发现了一些解决方案,这些解决方案最终对我不起作用,并且不明白为什么。

我有一个带有时间戳列的表。该列的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);

谁能阐明我在做什么以及为什么它无法正常工作?

谢谢。


阅读 202

收藏
2021-03-17

共1个答案

一尘不染

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

尝试将列换行,以使MySQL知道您的意思是列,而不是保留字:

DELETE FROM adminLoginLog WHERE `timestamp` < (NOW() - INTERVAL 10 MINUTE);
2021-03-17