Puoi racchiudere il corpo del tuo evento in un BEGIN ... END
blocco di istruzioni composte:
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
Nota che ogni istruzione deve essere terminata con un punto e virgola, quindi devi configurare il tuo client per utilizzare un delimitatore di istruzione diverso in modo che non pensi che il primo punto e virgola incontrato sia la fine di CREATE EVENT
comando (come farlo dipenderà dal tuo client, ma nello strumento da riga di comando MySQL
, puoi utilizzare il DELIMITER
comando
e in phpMyAdmin puoi impostare il delimitatore sotto la casella di input SQL).
In alternativa, in questo caso puoi utilizzare la tabella multipla UPDATE
sintassi per eseguire l'inizializzazione delle variabili in modo tale da richiedere solo una singola semplice istruzione:
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