我不明白为什么当我尝试创建事件时我的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)
;
答案 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