Maison > base de données > tutoriel mysql > le corps du texte

Explication détaillée des déclencheurs MySQL

怪我咯
Libérer: 2017-07-05 11:16:29
original
1428 Les gens l'ont consulté

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

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

<

Instruction SQL du déclencheur > --Le déclencheur contient l'instruction SQL à déclencher : l'instruction ici peut être n'importe quelle instruction légale, y compris les instructions composées, mais ici les instructions sont soumises aux mêmes restrictions que la fonction . --Vous devez disposer d'autorisations considérables pour créer un déclencheur (CREATE TRIGGER), si vous êtes déjà un utilisateur root, cela suffit. Ceci est différent du standard SQL.

Exemple

exemple1 :

Créer l'onglet de tableau1

DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
  tab1_id varchar(11)
);
Copier après la connexion
Créer l'onglet de tableau2

DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
  tab2_id varchar(11)
);
Copier après la connexion
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 tab2

DROP 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;
Copier après la connexion
Testez-le

INSERT INTO tab1(tab1_id) values(&#39;0001&#39;);
Copier après la connexion
Regardez les résultats

SELECT * FROM tab1;
SELECT * FROM tab2;
Copier après la connexion

exemple2 :

Créer un déclencheur : t_afterdelete_on_tab1

Fonction : Après suppression l'enregistrement de la table tab1 Supprimer automatiquement les enregistrements correspondants dans la table tab2

DROP 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;
Copier après la connexion
Testez-le

DELETE FROM tab1 WHERE tab1_id=&#39;0001&#39;;
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!