Cet article vous apporte des connaissances pertinentes sur mysql, qui présente principalement des problèmes liés aux déclencheurs, notamment ce que sont les déclencheurs, comment créer des déclencheurs dans la base de données et si les déclencheurs peuvent remplacer les clés étrangères, jetons-y un coup d'œil, j'espère cela sera utile à tout le monde.
Apprentissage recommandé : Tutoriel vidéo MySQL
Concept : Le déclencheur est une méthode fournie par le serveur SQL aux programmeurs et aux analystes de données pour garantir l'intégrité des données. Il s'agit d'une procédure stockée spéciale liée aux événements de table. Son exécution n'est pas effectuée par des appels de programme non lancés manuellement, mais. sont déclenchés par des événements. Par exemple, lorsqu'une table est exploitée (insertion, suppression, mise à jour), son exécution sera activée. Les déclencheurs sont souvent utilisés pour appliquer des contraintes d’intégrité des données et des règles métier. Les déclencheurs peuvent être trouvés dans les dictionnaires de données DBA_TRIGGERS et USER_TRIGGERS. Un déclencheur SQL3 est une instruction qui peut être automatiquement exécutée par le système pour modifier la base de données.
Exemple 1 : Créer une table utilisateur (ID utilisateur, nom d'utilisateur) et créer un déclencheur (Lorsque les données sont insérées dans la table utilisateur, un identifiant globalement unique est automatiquement généré)
Créez d'abord la table utilisateur
create table user( id int PRIMARY KEY, name varchar(20) );
Créez un déclencheur
-- 建立触发器名为tt create TRIGGER tt -- 触发条件,向user表中插入数据时启动触发器 BEFORE insert on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN set new.id=UUID(); END
Le déclencheur que vous venez de créer (voir le déclencheur sous la base de données actuelle Tous les codes de déclenchement affichent les déclencheurs)
Effet : Insérez trois noms d'utilisateur dans le tableau et générez automatiquement trois ID
insert user(name) VALUE('张三'),('李四'),('王五')
Exemple 2 : Créez une autre table de commande DD (ID de commande, nom du produit , ID utilisateur), créer un déclencheur tq1 (lorsqu'un utilisateur est supprimé, la commande de l'utilisateur sera également supprimée)
Construire une table
create table DD( ddid int PRIMARY KEY, ddname VARCHAR(20), userid VARCHAR(50) )
Créer un déclencheur
delimiter $ -- 建立触发器名为tq create TRIGGER tq1 -- 触发条件,再dd表删除数据之后启动触发器 AFTER DELETE on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN DELETE FROM dd WHERE old.id=userid; END $ delimiter ;
à la table Ajouter deux éléments de données
Effet : Supprimez l'utilisateur dans la table utilisateur, et les enregistrements de la table dd seront également supprimés
Supprimez Zhang San
delete from user WHERE name='张三'
Résumé : Les déclencheurs peuvent remplacer les clés étrangères dans certains cas, mais pas dans toutes les situations. Les clés étrangères et les déclencheurs peuvent également être utilisés ensemble
Apprentissage recommandé : Tutoriel vidéo MySQL
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!