Maison >base de données >tutoriel mysql >Maîtrise complète des triggers MySQL

Maîtrise complète des triggers MySQL

WBOY
WBOYavant
2022-06-28 15:25:392785parcourir

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.

Maîtrise complète des triggers MySQL

Apprentissage recommandé : Tutoriel vidéo MySQL

1. Pourquoi les déclencheurs sont nécessaires

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.

2. Présentation des déclencheurs

  • MySQL prend en charge les déclencheurs à partir de la version 5.0.2
  • Les déclencheurs MySQL, comme les procédures stockées, sont un programme intégré au serveur MySQL
  • Un déclencheur est composé d'un certain événement pour déclencher un opération, ces événements incluent des événements d'insertion, de suppression et de mise à jour
  • Si le programme déclencheur est défini, alors lorsque la base de données exécute ces instructions, cela équivaut à l'occurrence d'un événement, et le déclencheur sera automatiquement déclenché pour effectuer l'opération correspondante
  • Si nous devons exécuter automatiquement une logique de base de données lors de l'insertion de données dans une table de la base de données, nous pouvons utiliser des déclencheurs pour y parvenir.

3. Création de déclencheurs

3.1 Syntaxe

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.

  • pour chaque ligne indique qu'à chaque fois qu'un événement (insertion, mise à jour ou suppression) est exécuté, un déclencheur sera déclenché
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:表示触发的事件。

    • 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é.


Maîtrise complète des triggers MySQLINSERT signifie un déclenchement lorsqu'un enregistrement est inséré ;
Maîtrise complète des triggers MySQLUPDATE signifie un déclenchement lorsqu'un enregistrement est mis à jour ;

DELETE signifie un déclenchement lorsqu'un enregistrement est supprimé.

  • 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.

Maîtrise complète des triggers MySQL3.2 Démonstration de cas

    Préparez d'abord la table
  • 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));
  • Exigences : Créer un déclencheur : créez un déclencheur nommé before_insert Avant d'insérer des données dans la table de données test_trigger, insérez les informations du journal before_insert dans la table de données test_trigger_log.

Maîtrise complète des triggers MySQL

  • 4. Afficher les déclencheurs

Afficher les déclencheurs consiste à afficher les informations de définition, d'état et de syntaxe des déclencheurs qui existent déjà dans la base de données

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer