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

标签 php mysql sql

我进行了相当多的搜索,发现了一些最终对我不起作用并且无法理解原因的解决方案。

我有一个带有时间戳列的表。此列的 MySQL 类型是“日期时间”。我从 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);

关于php - MySQL删除超过X分钟的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252704/

相关文章:

php - 如何只显示一个重复项?

php - 如何使用jquery(AJAX)从mysql表中逐行获取数据,用php编写查询?

php - SQL 语法错误 IN

php - 为什么 mysqli 给出 "Commands out of sync"错误?

mysql - 无法接收字段值为 0 或 NULL 的结果

php - 如何使用 PHP 使用 Jcrop 将裁剪后的图像保存到目录中

PHP 搜索功能...使用来自同一变量的两个条件

MySQL DATE_SUB 不使用变量但使用常规值

mysql - sql错误errno : 121

python - Google bigquery python 客户端库 SQL 选择正则表达式错误