Mysql 创建每日活动的问题

Mysql 创建每日活动的问题,mysql,Mysql,正在尝试在mysql中创建每日事件: CREATE EVENT ResetStatus ON SCHEDULE EVERY 1 DAY DO BEGIN IF (DATE('2013-04-05') = CURDATE()) THEN UPDATE mytable SET resetstatus = 1 WHERE id = (SEL

正在尝试在mysql中创建每日事件:

CREATE EVENT ResetStatus
    ON SCHEDULE
      EVERY 1 DAY
    DO

      BEGIN

            IF (DATE('2013-04-05') = CURDATE()) THEN
                UPDATE mytable
                SET resetstatus = 1
                WHERE id = (SELECT pid FROM usertable WHERE priority = 'A');

            END IF;

      END;
获取一个错误:

Lookup Error - MySQL Database Error: 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 12
如果我接受update语句并将其放在TOAD中并运行,则它运行时不会出错

如以下文件所述:

如果使用客户机程序定义包含分号字符的存储程序,则会出现问题。默认情况下,它本身将分号识别为语句分隔符,因此必须临时重新定义分隔符,以便将整个存储程序定义传递给服务器

您需要将客户端设置为使用除
之外的语句分隔符
,因为它当前认为它遇到的第一个分号(在
UPDATE
语句末尾)是终止
CREATE EVENT
语句

在MySQL命令行客户端中,可以使用
分隔符


工作得很有魅力。必须等待10分钟才能接受你的答案
DELIMITER ;;  -- or anything else you like

CREATE EVENT ResetStatus
ON SCHEDULE
  EVERY 1 DAY
DO
  BEGIN

        IF (DATE('2013-04-05') = CURDATE()) THEN
            UPDATE mytable
            SET resetstatus = 1
            WHERE id = (SELECT pid FROM usertable WHERE priority = 'A');

        END IF;

  END
;;

DELIMITER ;  -- return to normal