Maison > Article > base de données > Maîtrise complète des triggers MySQL
Cet article vous apporte des connaissances pertinentes sur mysql Il organise principalement les problèmes liés aux déclencheurs, notamment pourquoi les déclencheurs sont nécessaires, un aperçu des déclencheurs, la création de déclencheurs, etc. Parlons-en ensemble, espérons-le. aide tout le monde.
Apprentissage recommandé : Tutoriel vidéo MySQL
Certaines tables sont liées les unes aux autres, comme la table des produits et la table des stocks. Nous exploitons les données de la table des produits, puis la. correspondant Le tableau d'inventaire doit être modifié pour garantir l'intégrité des données. Ce serait plus gênant si nous le maintenions nous-mêmes manuellement.
À l'heure actuelle, nous pouvons utiliser des déclencheurs pour créer un déclencheur afin que l'opération d'insertion des données d'informations sur le produit déclenche automatiquement l'opération d'insertion des données d'inventaire, etc., afin que nous n'ayons pas à nous soucier de la perte de données due à l'oubli de ajouter des données d'inventaire.
Les déclencheurs agissent sur la table Par exemple, nous voulons que l'exécution du déclencheur soit déclenchée lorsqu'un nouvel enregistrement est ajouté à la table A, et nous devons également sélectionner. le déclencheur. Indique si le déclencheur est exécuté avant ou après l'exécution de l'instruction d'insertion.
CREATE TRIGGER 触发器名称 {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 FOR EACH ROW 触发器执行的语句块;
Description :
Nom de la table
: Indique la surveillance du déclencheur objet. 表名
:表示触发器监控的对象。
BEFORE|AFTER
:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。
INSERT|UPDATE|DELETE
:表示触发的事件。
触发器执行的语句块
AVANT|APRÈS
: Indique l'heure du déclenchement. AVANT signifie déclenchement avant l'événement ; APRÈS signifie déclenchement après l'événement.
INSERT|UPDATE|DELETE
: Indique l'événement déclenché.
INSERT signifie un déclenchement lorsqu'un enregistrement est inséré ;
UPDATE signifie un déclenchement lorsqu'un enregistrement est mis à jour ;
Bloc d'instructions exécuté par le déclencheur
: Il peut s'agir d'une instruction SQL unique ou d'un bloc d'instructions composé composé de la structure BEGIN...END. 3.2 Démonstration de cas
CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));
Méthode 1 : Afficher les définitions de tous les déclencheurs dans la base de données actuelle
show triggers\G 注意,在SQLyog中,不能加上\G🎜🎜Méthode 2 : Afficher la définition d'un déclencheur dans la base de données actuelle🎜🎜
show create trigger 触发器名🎜🎜🎜🎜🎜Méthode 3 : Interroger les informations du déclencheur "salary_check_trigger" à partir de la table TRIGGERS de la bibliothèque système information_schema🎜🎜
SELECT * FROM information_schema.TRIGGERS;🎜 5. Supprimer les déclencheurs🎜🎜Les déclencheurs sont également des objets de base de données, et les déclencheurs sont également supprimés à l'aide des instructions drop🎜
drop trigger if exists 触发器名;🎜Apprentissage recommandé : 🎜Tutoriel vidéo MySQL🎜🎜
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!