Maison  >  Article  >  base de données  >  Comment créer et supprimer des déclencheurs MySQL

Comment créer et supprimer des déclencheurs MySQL

WBOY
WBOYavant
2023-05-28 16:34:11959parcourir

Comment créer et supprimer des déclencheurs MySQL

1. Pourquoi avons-nous besoin de déclencheurs ?

Certaines tables sont liées entre elles, comme la table produit et la table inventaire Lorsque l'on opère sur les données de la table produit, la table inventaire correspondante doit changer, afin que nous puissions 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 d'ajouter 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 et les procédures stockées sont tous deux un programme intégré au serveur MySQL

  • Déclencheurs Une opération est déclenchée par un certain événement. Ces événements incluent les événements d'insertion, de suppression et de mise à jour. Si un programme déclencheur est défini, alors lorsque la base de données exécute ces instructions, cela équivaut à un événement qui se produit et l'exécution du déclencheur sera automatiquement déclenchée. Si vous devez 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 un déclencheur Objets surveillés.

AVANT|APRÈS : Indique l'heure du déclenchement. AVANT signifie déclencher avant l'événement ; APRÈS signifie déclencher après l'événement.

  • INSERT|UPDATE|DELETE : Indique l'événement déclenché. 表名:表示触发器监控的对象。

  • BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。

  • INSERT|UPDATE|DELETE:表示触发的事件。

    • INSERT 表示插入记录时触发;

    • UPDATE 表示更新记录时触发;

    • DELETE 表示删除记录时触发。

  • 触发器执行的语句块

    INSERT signifie le déclenchement lorsqu'un enregistrement est inséré ;

    UPDATE signifie le déclenchement lorsqu'un enregistrement est mis à jour


    Comment créer et supprimer des déclencheurs MySQL
    DELETE signifie le déclenchement lorsqu'un enregistrement est supprimé ; . Comment créer et supprimer des déclencheurs MySQL

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

    Comment créer et supprimer des déclencheurs 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

    Comment créer et supprimer des déclencheurs MySQL

      Méthode 1 : Afficher tous les déclencheurs dans la base de données actuelle Définition
    • 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 le déclencheur "salary_check_trigger" à partir de la table TRIGGERS du système schéma d'informations de la bibliothèque Informations sur le déclencheur🎜🎜🎜
    SELECT * FROM information_schema.TRIGGERS;
    🎜5. Suppression de déclencheurs🎜🎜Les déclencheurs sont également des objets de base de données, et les déclencheurs sont également supprimés à l'aide de l'instruction drop🎜
    drop trigger if exists 触发器名;
    .

    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