Tělo své události můžete zabalit do BEGIN ... END
složený blok příkazů:
CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 20:00:00' DO BEGIN
SET @p=1;
UPDATE users SET rate = (@p:[email protected]+1) ORDER BY power DESC;
END
Všimněte si, že každý příkaz musí být ukončen středníkem, takže musíte svého klienta nakonfigurovat tak, aby používal jiný oddělovač příkazů, aby si nemyslel, že první nalezený středník je koncem CREATE EVENT
příkaz (jak to provést, bude záviset na vašem klientovi, ale v nástroji příkazového řádku MySQL
, můžete použít DELIMITER
příkaz
a v phpMyAdmin můžete nastavit oddělovač pod vstupním polem SQL).
Alternativně můžete v tomto případě použít vícetabulkový UPDATE
syntaxe k provedení inicializace proměnné tak, že budete potřebovat pouze jeden jednoduchý příkaz:
CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 20:00:00' DO
UPDATE users, (SELECT @p:=0) init
SET users.rate = (@p:[email protected]+1)
ORDER BY users.power DESC