Qu'est-ce qu'un trigger ?
Un trigger est un traitement qui est exécuté automatiquement lors d'un INSERT, UPDATE ou DELETE sur une table.
Les triggers permettent par exemple de supprimer des tuples qui comportent des clés étrangères.
MySQL supporte les triggers depuis la version 5.0.2.
Pour créer un trigger, utilisez HeidiSQL, puis faites clic droit > Create new > Trigger.
Ensuite, écrivez le code SQL de votre trigger, exactement comme on le fait pour une procédure stockée.
Il faut aussi définir l'événement, composé de 2 champs :
- BEFORE pour exécuter le trigger avant l'exécution de la requête
AFTER pour l'exécuter après - La clause : INSERT, UPDATE ou DELETE
Voilà par exemple le code de création d'un trigger pour Wordpress qui supprime automatiquement les métas lors de la suppression d'un post (billet) :
Allez donc jeter un oeil sur cette page : alternative gratuite à excel.
CREATE TRIGGER `Delete meta` BEFORE DELETE ON `wp_posts` FOR EACH ROW BEGIN DELETE FROM wp_postmeta WHERE post_id = ID; END;
Impact des triggers sur les performances
Les triggers peuvent avoir un impact très négatif sur les performances en écriture (donc rassurez-vous ça ne ralentit pas les requêtes SELECT qui sont les plus fréquentes).
Vous pouvez en savoir plus en lisant ce benchmark.
Fini de lire cette page ? allez faire un tour ici : texte-néon (ampoule), ça peut vous intéresser.