Maison >base de données >tutoriel mysql >Explication détaillée des déclencheurs MySQL
Cet article présente principalement l'explication détaillée et des exemples simples des déclencheurs MySQL. Les amis dans le besoin peuvent se référer aux
Exemples simples de déclencheurs MySQL
Syntaxe
CREATE TRIGGER 58e8da683a191e3c88cfe7d78e93fa03 --Le déclencheur doit avoir un nom, jusqu'à 64 caractères, possible Il sera suivi de un délimiteur. Elle est fondamentalement similaire à la méthode de dénomination d'autres objets dans MySQL
{ AVANT | APRÈS } -- Déclencheur Il y a une exécution. réglage de l'heure : il peut être réglé avant ou après que l' événement se produise.
{ INSERT | UPDATE | DELETE } --Vous pouvez également définir les événements déclenchés : ils peuvent l'être lors de l'exécution d'une insertion, d'une mise à jour ou d'une suppression. gâchette moyenne.
ON ccc43248daffbac9770dee47fdaff697 --Le déclencheur appartient à une certaine table : lorsqu'une insertion, une mise à jour ou une suppression est effectuée sur cette table. L'opération provoque l'activation du déclencheur. Nous ne pouvons pas organiser deux déclencheurs pour le même événement dans la même table.
FOR EACH ROW --Intervalle d'exécution du déclencheur : la clause FOR EACH ROW notifie au déclencheur d'effectuer une action toutes les deux lignes au lieu d'une fois pour toute la table.
Exemple
DROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) );Créer l'onglet de tableau2
DROP TABLE IF EXISTS tab2; CREATE TABLE tab2( tab2_id varchar(11) );Créer un déclencheur :
t_afterinsert_on_tab1
Fonction : Après avoir ajouté l'enregistrement de la table tab1, l'enregistrement sera automatiquement ajouté à la table tab2DROP TRIGGER IF EXISTS t_afterinsert_on_tab1; CREATE TRIGGER t_afterinsert_on_tab1 AFTER INSERT ON tab1 FOR EACH ROW BEGIN insert into tab2(tab2_id) values(new.tab1_id); END;Testez-le
INSERT INTO tab1(tab1_id) values('0001');Regardez les résultats
SELECT * FROM tab1; SELECT * FROM tab2;
exemple2 :
Créer un déclencheur : t_afterdelete_on_tab1Fonction : Après suppression l'enregistrement de la table tab1 Supprimer automatiquement les enregistrements correspondants dans la table tab2DROP TRIGGER IF EXISTS t_afterdelete_on_tab1; CREATE TRIGGER t_afterdelete_on_tab1 AFTER DELETE ON tab1 FOR EACH ROW BEGIN delete from tab2 where tab2_id=old.tab1_id; END;Testez-le
DELETE FROM tab1 WHERE tab1_id='0001';Voir le résultat
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!