MySQL dispose d'un gestionnaire d'évènement qui par défaut est désactivé.
Il fonctionne comme un cron.
Pour l'activer faire :
SET GLOBAL event_scheduler = ON;
Pour le désactiver faire :
SET GLOBAL event_scheduler = OFF;
Le code suivant fait une insertion toute les minutes dans la table messages, pendant une heure.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
SET GLOBAL event_scheduler = ON;
DROP TABLE IF EXISTS messages;
DROP EVENT IF EXISTS tesla_event;
CREATE TABLE IF NOT EXISTS messages (
id INT PRIMARY KEY AUTO_INCREMENT,
message VARCHAR(255) NOT NULL,
creation DATETIME NOT NULL
);
CREATE EVENT IF NOT EXISTS tesla_event
ON SCHEDULE EVERY 1 MINUTE
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO INSERT INTO messages(message, creation) VALUES('Test MySQL Event 1', NOW());
SELECT * FROM messages; |
Pour plus de détails (document en anglais):
http://www.mysqltutorial.org/mysql-t...heduled-event/
Partager