一分钟后删除表的mysql记录

时间:2011-07-28 04:20:39

标签: 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`)
) 

1 个答案:

答案 0 :(得分:5)

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

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