我的 mysql delete 语句有什么问题?

What is wrong with my mysql delete statement?

任何人都可以告诉我我的 sql 声明有什么问题吗?我希望它删除所有 table 时间间隔超过 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)");

您在列标识符周围使用了单引号而不是标记

$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)");

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