php - 一分钟后删除表的mysql记录

标签 php mysql

我需要帮助解决一个简单的问题,

$tme = date("Y-m-j H:i:s");
mysql_query("DELETE FROM PM_TABLE WHERE date <= $time - INTERVAL 60 SECOND");

所以,它应该可以工作并删除所有长达 1 分钟的旧记录。

但是它不能进行操作。

返回值是这样的:\

DELETE FROM PM_TABLE WHERE date <= 2011-07-28 08:49:29 - INTERVAL 60 SECOND

表架构:

CREATE TABLE IF NOT EXISTS `PM_TABLE` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `text` varchar(255) COLLATE utf8_bin NOT NULL,
  `date` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

最佳答案

PHP 变量作为字符串注入(inject),没有单引号来分隔它以便 SQL 正确解释它。但是您不需要 PHP 函数 - 使用:

mysql_query("DELETE FROM PM_TABLE 
              WHERE date <= NOW() - INTERVAL 60 SECOND");

关于php - 一分钟后删除表的mysql记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854045/

相关文章:

php - 路由中的 Symfony2 语言环境

php - Codeigniter SEO 友好的 URL 重写

php - MySQL:保存十六进制值的节省空间的方法

php - MySQL更新连接性能

sql - 选择具有不同值的行的百分比

php - 如何通过mysql表插入和显示google map

phpexcel 卡住行和列

php - 如何处理在线状态。访客、用户等

MySQL:在单个 Cell 中读取大数据还是在多个 Cell 中读取较小数据更快?

mysql - 识别/非识别关系是否与强制/可选关系相同?