MySQL utilise des déclencheurs

Avant-propos: MySQL5 ou version ultérieure prend en charge la fonction de déclenchement

Qu'est-ce qu'un déclencheur: si vous voulez qu'une instruction soit automatiquement exécutée lorsqu'un événement se produit, vous devez utiliser un déclencheur. Plus précisément, un déclencheur est une instruction MySQL qui est automatiquement exécutée par MySQL en réponse à l'une des instructions suivantes (situées à BEGIN et END) Un ensemble d'instructions entre les instructions): DELETE, INSERT, UPDATE, d'autres instructions MySQL ne prennent pas en charge les déclencheurs

Déclencheur de type INSERT: activez le déclencheur lors de l'insertion d'une certaine ligne, il peut être déclenché par l'instruction INSERT .
Déclencheur de type UPDATE: le déclencheur est activé lorsqu'une certaine ligne est modifiée et peut être déclenché par l' instruction UPDATE .
Déclencheur de type DELETE: le déclencheur est activé lorsqu'une certaine ligne est supprimée, ce qui peut être déclenché par l' instruction DELETE
 

Créez d'abord un déclencheur

Le déclencheur est créé avec l'instruction CREATE TRIGGER. Voici un exemple simple

Chaque déclencheur correspond à une table et chaque table prend en charge jusqu'à 6 déclencheurs (avant et après DELETE, INSERT et UPDATE)

CREATE TRIGGER newproduct AFTER INSERT ON orders -- 创建一个触发器对应orders表
FOR EACH ROW -- 这句话在mysql是固定的
BEGIN
-- 触发器sql语句
END;

Dans le même temps, utilisez Navicat pour MySQL pour créer des déclencheurs comme indiqué dans la figure ci-dessous, mais il est recommandé d'utiliser des opérations de déclaration. Recherchez d'abord la table correspondant au déclencheur que vous devez créer dans Navicat pour MySQL, cliquez avec le bouton droit sur "Table de conception", puis créez le déclencheur.

Deuxièmement, supprimez le déclencheur

DROP TRIGGER newproduct;

Les déclencheurs ne peuvent pas être mis à jour ou remplacés. Pour modifier un déclencheur, vous devez d'abord le supprimer, puis le recréer.

 

Troisièmement, utilisez le déclencheur

     1. INSÉRER le déclencheur ,

       Chaque fois qu'une commande est ajoutée, la commande sera ajoutée à la liste de prix totale pour une utilisation future. NOUVEAU indique la valeur nouvellement insérée dans les commandes

CREATE TRIGGER ordersinsert AFTER INSERT ON orders
FOR EACH ROW #这句话在mysql是固定的
BEGIN
-- 触发器sql语句
INSERT INTO ordertotals(order_num, total)  
values(NEW.order_num, 0);  
END;

 

Publié 156 articles originaux · louange gagné 34 · Vues 150 000 +

Je suppose que tu aimes

Origine blog.csdn.net/bbj12345678/article/details/105612367
conseillé
Classement