我需要幫助的一個簡單的問題後,刪除表的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的執行速度很快,讓MySql做更多的工作可以代替MySql,因爲MySql通常比較難以擴展然後是PHP。並嘗試總是使用「反向」來轉義字段/表名,因爲您可以通過使用特殊(保留)名稱獲得意想不到的結果。只要做$ tme = date(「Y-m-j H:i:s」,time() - 60); (「DELETE FROM \'PM_TABLE \'WHERE \'date \'<= \」$ time \「;」)OR die(mysql_error()); – XzKto
您是否還可以顯示您希望被刪除的幾行? –