我一定是做了非常愚蠢的,但下面是正確的:Scedule事件的Mysql不接受語法BEGIN END
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);
下一個位似乎拋出一個語法錯誤在最後2行:
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部分中執行多個表格,這就是爲什麼我需要它。
我希望有人能弄清楚這裏出了什麼問題,我很茫然。 在此先感謝, 笑臉
這兩條評論都很清楚和正確。我不記得爲oracle的事情做這件事。但是,這是完美的,謝謝! – Smileynator
在觸發器/過程/事件的主體內部發生分號時,更改分隔符以處理歧義的情況並不少見。例如,我知道PostgreSQL和Firebird也需要使用這種技術。 –