Scedule事件Mysql不接受语法BEGIN END

Smi*_*tor 3 mysql sql syntax events mysql-workbench

我必须做一些非常愚蠢的事情,但以下是正确的:

CREATE EVENT delete_old
ON SCHEDULE
EVERY 1 DAY
COMMENT 'Clears old cache data from the DB.'
DO
DELETE FROM summoners 
WHERE `date` < (NOW() - INTERVAL 7 DAY);
Run Code Online (Sandbox Code Playgroud)

下一位似乎在最后两行抛出语法错误:

CREATE EVENT delete_old
ON SCHEDULE
EVERY 1 DAY
COMMENT 'Clears old cache data from the DB.'
DO BEGIN
DELETE FROM summoners 
WHERE `date` < (NOW() - INTERVAL 7 DAY);
END;
Run Code Online (Sandbox Code Playgroud)

据我所知,语法是正确的,但MySQL Workbench不同意.我打算在BEGIN - END部分内做多个表,这就是我需要它的原因.

我希望有人能弄清楚这里出了什么问题,我不知所措.提前谢谢,笑脸

Bil*_*win 7

您必须将其更改为DELIMITER未在事件正文中显示的内容.

我刚试过它(MySQL Workbench 6.0.6,MySQL 5.6),它运行正常.这是一个截图:

在此输入图像描述