Możesz umieścić treść swojego wydarzenia w BEGIN ... END
blok instrukcji złożonych:
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
Pamiętaj, że każda instrukcja musi być zakończona średnikiem, więc musisz skonfigurować klienta tak, aby używał innego ogranicznika instrukcji, aby nie myślał, że pierwszy napotkany średnik jest końcem CREATE EVENT
polecenie (jak to zrobić, zależy od klienta, ale w narzędziu wiersza poleceń MySQL
, możesz użyć DELIMITER
polecenie
a w phpMyAdmin możesz ustawić ogranicznik poniżej pola wprowadzania SQL).
Alternatywnie, w tym przypadku możesz użyć wielu tabel UPDATE
składnia do wykonywania inicjalizacji zmiennych, tak że potrzebujesz tylko jednej prostej instrukcji:
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