语法错误创建事件;独立查询工作正常

Syntax error creating event; query works fine standalone

我想在 MYSQL 数据库上创建事件。当我 运行 创建 EVENT SCHEDULE 的查询时,我得到了这个错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 8

有线的事情是,当我 运行 在 EVENT SCHEDULE 中查询时,它 运行 没有任何错误:

这是我正在使用的代码

CREATE DEFINER=`root`@`localhost` EVENT `updateGoals` ON SCHEDULE EVERY 20 MINUTE STARTS '2015-01-01 00:01:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN

UPDATE `scores` SET `goals`='0'
WHERE `goals` >'0'
AND
( `PROCESS_DESC` LIKE '%No Goals%'
OR `PROCESS_DESC` LIKE '%NG %'
OR `PROCESS_DESC` LIKE '%Goals 0%');

END$$ 

这就是你想要的。这个定界符令人讨厌且令人困惑。

DELIMITER $$
CREATE DEFINER=`root`@`localhost` 
       EVENT `updateGoals` 
          ON SCHEDULE EVERY 20 MINUTE 
      STARTS '2015-01-01 00:01:00' 
          ON COMPLETION NOT PRESERVE ENABLE
  DO BEGIN

    UPDATE `scores` SET `goals`='0'
     WHERE `goals` >'0'
      AND
           ( `PROCESS_DESC` LIKE '%No Goals%'
          OR `PROCESS_DESC` LIKE '%NG %'
          OR `PROCESS_DESC` LIKE '%Goals 0%');

END$$ 

您注意到您的活动只会 运行 一次,对吧?它说 ON COMPLETION NOT PRESERVE.

如果您希望活动继续进行并保持 运行ning 在您 DROP 之前按计划进行,请改用 ON COMPLETION PRESERVE