Maison  >  Article  >  base de données  >  [MySQL 14] Déclencheur après et avant

[MySQL 14] Déclencheur après et avant

黄舟
黄舟original
2017-02-04 13:49:211422parcourir

after termine d'abord l'ajout, la suppression et la modification des données, puis se déclenche. L'instruction déclenchée est postérieure à l'opération d'ajout, de suppression et de modification surveillée, et ne peut pas affecter les opérations d'ajout, de suppression et de modification précédentes ; , l'enregistrement de la commande est inséré en premier, puis la quantité du produit est mise à jour ;

avant de terminer le déclencheur, puis d'ajouter, de supprimer ou de modifier l'instruction déclenchée précède l'ajout, la suppression ou la modification surveillée. modification, nous avons donc la possibilité de juger et de modifier l'opération à venir ;

Cas :
Tableau du produit g Le nombre de juzi gagnants n'est que de 20, mais si plus de 20 sont ajoutés à la commande o, comment pour le résoudre à ce moment-là ?

#创建触发器test4  
CREATE TRIGGER test4  
AFTER  
INSERT  
ON `ord`  
FOR EACH ROW  
BEGIN  
UPDATE goods SET num= num - new.much WHERE goods_id = new.gid;  
END$$

[MySQL 14] Déclencheur après et avant

Déclencher l'utilisation avant :

Déclencher d'abord, puis ajouter, supprimer ou modifier après jugement et traitement. La quantité maximale de la commande est modifiée en fonction de l'inventaire. Bien sûr, je viens de fixer une valeur. En fait, vous pouvez utiliser des instructions pour obtenir des valeurs d'inventaire dynamiques.

#创建触发器test5  
CREATE TRIGGER test5  
BEFORE  
INSERT  
ON `ord`  
FOR EACH ROW  
BEGIN  
  IF new.much >26 THEN  
     SET new.much = 26;  
  END IF;  
UPDATE goods SET num= num - new.much WHERE goods_id = new.gid;  
END$$

[MySQL 14] Déclencheur après et avant

Ce qui précède est le contenu du déclencheur [MySQL 14] après et avant. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php. .cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn