MySQL返回一条消息:一个空结果(即没有行)

时间:2013-07-13 17:40:52

标签: mysql sql database

我不明白为什么当我尝试创建事件时我的sql会返回此错误..
错误:# MySQL returned an empty result (ie no rows).

代码:


USE my_database;
CREATE EVENT IF NOT EXISTS `remove_inactives`
ON SCHEDULE EVERY 15 MINUTE
ON COMPLETION PRESERVE
ENABLE
DO

    DELETE FROM `inactive`
        WHERE `inactive` < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
;

1 个答案:

答案 0 :(得分:0)

问题可能是由于您的where子句未引用inactive表中的任何列,因此

`inactive` < DATE_SUB(NOW(), INTERVAL 15 MINUTE

没有结果。

我不确定你的列名是什么,但为了论证,我们假设它是last_mod_time,在这种情况下这个SQL语句可能有效:

DELETE FROM `inactive`
  WHERE `inactive`.last_mod_time < DATE_SUB(NOW(), INTERVAL 15 MINUTE)

如果您发现事件仍未处理,请使用SHOW PROCESSLIST\G查看event_scheduler是否正在运行。

如果没有,则使用以下内容为当前运行的mysqld会话启动它:

mysql> SET GLOBAL event_scheduler = ON;

要使设置成为永久设置,以便在mysqld启动时启动调度程序设置相应的server system variable