Maison > Article > base de données > Explication détaillée de la définition et de l'utilisation des déclencheurs MySQL
Explication détaillée de la définition et de l'utilisation des déclencheurs MySQL
Le déclencheur MySQL est une procédure stockée spéciale qui peut être automatiquement exécutée lorsqu'un événement spécifique se produit dans la table. Les déclencheurs peuvent être utilisés pour mettre en œuvre des fonctions telles que le traitement automatisé des données et le maintien de la cohérence des données. Cet article présentera en détail la définition et l'utilisation des déclencheurs MySQL et fournira des exemples de code spécifiques.
CREATE TRIGGER trigger_name BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name FOR EACH ROW BEGIN -- 触发器执行的SQL语句 END;
Parmi eux, CREATE TRIGGER est utilisé pour définir le déclencheur, trigger_name est le nom du déclencheur, BEFORE/AFTER indique si le déclencheur est exécuté avant ou après l'événement, et INSERT /UPDATE/DELETE indique si le déclencheur est Pour les opérations d'insertion, de mise à jour ou de suppression, table_name est le nom de la table à laquelle appartient le déclencheur. FOR EACH ROW signifie que le déclencheur est exécuté une fois pour chaque ligne de données entre BEGIN et END. est l'instruction SQL spécifiquement exécutée par le déclencheur.
Tout d'abord, nous créons un déclencheur nommé student_level, le code est le suivant :
DELIMITER $$ CREATE TRIGGER student_level_trigger BEFORE INSERT ON student FOR EACH ROW BEGIN DECLARE level VARCHAR(10); IF NEW.score >= 90 THEN SET level = 'A'; ELSEIF NEW.score >= 80 THEN SET level = 'B'; ELSEIF NEW.score >= 70 THEN SET level = 'C'; ELSE SET level = 'D'; END IF; SET NEW.level = level; END; $$ DELIMITER ;
Dans le code ci-dessus, nous créons un déclencheur de type BEFORE INSERT student_level_trigger, lorsque de nouvelles données d'élève sont insérées, le déclencheur Le niveau de l'élève sera automatiquement défini en fonction des notes de l'élève et mis à jour dans le champ de niveau.
Ensuite, nous insérons une donnée de l'étudiant pour tester si le déclencheur est efficace :
INSERT INTO student(name, score) VALUES('小明', 85);
Après avoir exécuté l'instruction d'insertion ci-dessus et interrogé les données dans la table des étudiants, vous pouvez voir que le niveau de l'étudiant a été calculé et renseigné. le champ de niveau.
Résumé : cet article présente en détail la définition et l'utilisation des déclencheurs MySQL, et démontre l'application pratique des déclencheurs à travers des exemples spécifiques. Les déclencheurs sont une fonction très puissante de MySQL, qui peut réaliser des fonctions telles que l'automatisation du traitement des données et le maintien de la cohérence des données. Les développeurs peuvent utiliser les déclencheurs de manière flexible en fonction des besoins réels pour améliorer l'efficacité et la précision du traitement des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!