我的mysql删除语句有什么问题?

时间:2015-02-09 03:04:46

标签: php mysql sql codeigniter sql-delete

谁能告诉我sql语句有什么问题?我希望它删除时间间隔超过1分钟的所有表行。我的sql语句没有显示任何错误,但它不会删除任何行。

顺便说一句,我使用的是codeigniter框架。

$new_date = date('Y-m-d H:i:s', now());
$query = $this->db->query("DELETE FROM table WHERE 'date/time' < ('$new_date' - INTERVAL 1 minute)");

1 个答案:

答案 0 :(得分:4)

您在列标识符周围使用单引号而不是刻度线

$query = $this->db->query("DELETE FROM table WHERE `date/time` < ('$new_date' - INTERVAL 1 minute)");

此外,$new_date = date('Y-m-d H:i:s', now());应该只是$new_date = date('Y-m-d H:i:s');,因为PHP 有一个名为now()的函数。或者,更好的是,只使用MySQL的内置日期函数:

$query = $this->db->query("DELETE FROM table WHERE `date/time` < (NOW() - INTERVAL 1 minute)");

仅供参考,在列标识符中使用/并非常见做法。