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.
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
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 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 表示删除记录时触发。
触发器执行的语句块
DELETE signifie le 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. 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));
show triggers\G 注意,在SQLyog中,不能加上\G
show create trigger 触发器名
SELECT * FROM information_schema.TRIGGERS;
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!