Можете да увиете тялото на вашето събитие в BEGIN ... END
съставен блок на изрази:
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
Имайте предвид, че всеки израз трябва да бъде завършен с точка и запетая, така че трябва да конфигурирате вашия клиент да използва различен разделител на израза, за да не смята, че първата срещана точка и запетая е края на CREATE EVENT
команда (как да направите това ще зависи от вашия клиент, но в инструмента на командния ред на MySQL
, можете да използвате DELIMITER
команда
и в phpMyAdmin можете да зададете разделителя под полето за въвеждане на SQL).
Като алтернатива, в този случай можете да използвате UPDATE
с множество таблици синтаксис за извършване на инициализация на променлива, така че да ви е необходим само един прост израз:
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