phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

phpmyadmin|So erstellen Sie ein Ereignis, führen Sie 2 Aktionen aus

Sie können den Hauptteil Ihres Ereignisses in einen BEGIN ... END zusammengesetzter Anweisungsblock:

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

Beachten Sie, dass jede Anweisung mit einem Semikolon abgeschlossen werden muss, also müssen Sie Ihren Client so konfigurieren, dass er ein anderes Anweisungstrennzeichen verwendet, damit er nicht denkt, dass das erste Semikolon das Ende von CREATE EVENT ist Befehl (wie das geht, hängt von Ihrem Client ab, aber im MySQL-Befehlszeilentool , können Sie das DELIMITER verwenden Befehl und in phpMyAdmin können Sie das Trennzeichen unterhalb des SQL-Eingabefelds setzen).

Alternativ können Sie in diesem Fall das multiple-table UPDATE verwenden Syntax, um eine Variableninitialisierung durchzuführen, sodass Sie nur eine einzige einfache Anweisung benötigen:

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