我肯定做了一些非常愚蠢的事情,但以下是正确的:
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);
下一位似乎在最后两行抛出语法错误:
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;
据我所知语法是正确的,但是 MySQL Workbench 不同意。我打算在 BEGIN - END 部分中创建多个表,这就是我需要它的原因。
我希望有人能弄清楚这里出了什么问题,我很茫然。 提前致谢, 笑脸
最佳答案
您必须将 DELIMITER
更改为未出现在您的事件正文中的内容。
我刚刚尝试过(MySQL Workbench 6.0.6、MySQL 5.6)并且运行良好。这是一个屏幕截图:
关于mysql - 计划事件 Mysql 不接受语法 BEGIN END,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20686985/