Maison >base de données >tutoriel mysql >Comment créer un déclencheur dans MySQL
Pour créer un déclencheur dans MySQL, vous devez d'abord créer la table à stocker dans le déclencheur, puis définir l'heure à laquelle le déclencheur est activé, et enfin déclencher lorsque les conditions définies sont remplies, et exécuter les actions définies dans la collection d'instructions
[Cours recommandés : Tutoriel MySQL]
Trigger
Trigger est l'un des objets de la base de données MySQL. Il est très similaire aux fonctions des langages de programmation et nécessite une déclaration, une exécution, etc. Cependant, l'exécution d'un déclencheur n'est pas appelée par un programme ni démarrée manuellement, mais est déclenchée et activée par des événements pour réaliser l'exécution. Un peu similaire aux événements dans le DOM.
Création de déclencheurs
La syntaxe de création d'un déclencheur est la suivante :
CREATE <触发器名> < BEFORE | AFTER > <INSERT | UPDATE | DELETE > ON <表名> FOR EACH Row<触发器主体>
Analyse grammaticale
Nom du déclencheur
fait référence au nom du déclencheur et est unique dans la base de données (s'il est créé dans une base de données spécifique, le nom de la base de données doit à ajouter)
INSERT | UPDATE | DELETE
représente un événement déclencheur et est utilisé pour spécifier le type d'instruction qui active le déclencheur
INSERT : Insérer une nouvelle ligne Déclencheur activé lors de la table
DELETE : Déclencheur activé lorsqu'une ligne de données est supprimée de la table
UPDATE : Déclencheur activé lorsqu'une ligne de données dans la table est modifiée
AVANT | APRÈS
Le moment où le déclencheur est déclenché, indiquant si le déclencheur est déclenché avant ou après l'instruction qui l'active. Si vous souhaitez vérifier que les nouvelles données remplissent les conditions, utilisez l'option AVANT ; si vous souhaitez effectuer plusieurs modifications ou plus après l'exécution de l'instruction qui active le déclencheur, vous utilisez généralement l'option APRÈS.
Nom de la table
Le nom de la table associée au déclencheur Cette table doit être une table permanente. Les déclencheurs ne peuvent pas être associés à des tables ou des vues temporaires. Le déclencheur est activé lorsqu'un événement déclencheur se produit sur la table. La même table ne peut pas avoir deux déclencheurs avec le même temps de déclenchement et le même événement.
Corps du déclencheur
Corps de l'action du déclencheur, contenant l'instruction MySQL qui sera exécutée lorsque le déclencheur est activé. Si vous souhaitez exécuter plusieurs instructions, vous pouvez utiliser la structure d'instruction composée BEGIN…END.
FOR EACH ROW
fait référence au déclenchement au niveau de la ligne, et l'action de déclenchement doit être activée pour chaque ligne affectée par l'événement déclencheur.
Remarque : Un seul déclencheur peut être défini pour le même événement déclencheur au même moment de déclenchement dans la même table. Les déclencheurs ne peuvent être créés que sur des tables permanentes, pas sur des tables temporaires.
Exemple : Créez un déclencheur nommé double_salary
double_salary -> AFTER INSERT ON tb_emp1 -> FOR EACH ROW -> INSERT INTO tb_emp2 -> VALUES (NEW.id,NEW.name,deptId,2*NEW.salary); Query OK, 0 rows affected (0.25 sec)
La signification du code ci-dessus est de créer un déclencheur double_salary, et la condition de déclenchement est de Après l'insertion données dans la table de données tb_emp1, insérez les mêmes données dans la table de données tb_emp2 et le salaire est le double de la valeur du champ de salaire nouvellement inséré dans tb_emp1.
Résumé : ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde.
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!