Maison > base de données > tutoriel mysql > Comment créer un déclencheur de base de données MySQL

Comment créer un déclencheur de base de données MySQL

WBOY
Libérer: 2023-05-31 19:31:35
avant
4552 Les gens l'ont consulté

Qu'est-ce qu'un déclencheur ?

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 appelée par un programme ni démarrée manuellement. , mais est déclenché 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 informations relatives aux déclencheurs peuvent être obtenues en interrogeant le dictionnaire 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.

En termes simples, un déclencheur est un dispositif de déclenchement et une opération est stockée dans l'appareil. Une fois certaines conditions atteintes, l'appareil se déclenchera et effectuera les actions qui y sont stockées.

Comment créer un déclencheur dans la base de données

Établir une instance de déclencheur (mot clé : trigger)

Exemple 1 : Créer une table utilisateur (utilisateur ID, nom d'utilisateur), 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)
);
Copier après la connexion

# 🎜 🎜#Comment créer un déclencheur de base de données MySQL

Créer un déclencheur

-- 建立触发器名为tt
create TRIGGER tt
-- 触发条件,向user表中插入数据时启动触发器
BEFORE insert on user
-- 检查表中每一行,对新插入的数据进行操作
for EACH ROW
-- 执行操作
BEGIN 
set new.id=UUID();
END
Copier après la connexion

Le déclencheur vient d'être créé (afficher le code pour afficher les déclencheurs de tous les déclencheurs sous la base de données actuelle)

#🎜 🎜#

Comment créer un déclencheur de base de données MySQLEffet : Insérez trois noms d'utilisateur dans le tableau et générez automatiquement trois identifiants

insert user(name) VALUE('张三'),('李四'),('王五')
Copier après la connexion

Comment créer un déclencheur de base de données MySQLExemple 2 : Créez un commandez la table DD (ID de commande, nom du produit, ID utilisateur), et créez un déclencheur tq1 (lorsqu'un utilisateur est supprimé, la commande de l'utilisateur sera également supprimée) Créer une table

create table DD(
ddid int PRIMARY KEY,
ddname VARCHAR(20),
userid VARCHAR(50)
)
Copier après la connexion

#🎜 🎜## 🎜🎜#

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 ;
Copier après la connexion
Comment créer un déclencheur de base de données MySQL

Ajouter deux données au tableau

Comment créer un déclencheur de base de données MySQL# 🎜🎜#

Effet : supprimez l'utilisateur dans la table user et les enregistrements de la table dd seront également supprimés 🎜#

Comment créer un déclencheur de base de données MySQLLes déclencheurs peuvent remplacer complètement les clés étrangères. ? L'effet, cela signifie-t-il que les déclencheurs peuvent faire tout ce que les clés étrangères peuvent faire, et que les déclencheurs qui ne peuvent pas être effectués par des clés étrangères peuvent également le faire ?

Par rapport aux clés étrangères, les déclencheurs ont une plus grande flexibilité et plus de fonctions, et peuvent exécuter plus de fonctions. Dans une certaine mesure, ils peuvent remplacer les clés étrangères et implémenter des clés étrangères. fonction. Comment créer un déclencheur de base de données MySQL

Comment créer un déclencheur de base de données MySQL Les déclencheurs peuvent être utilisés pour renforcer l'intégrité référentielle, garantissant que lorsque des lignes sont ajoutées, mises à jour ou supprimées dans plusieurs tables, les définitions entre ces tables sont maintenues. Définir les contraintes de clé primaire et de clé étrangère est le meilleur moyen de garantir l’intégrité référentielle. À l'aide de diagrammes de relations dans une base de données, des contraintes de clé étrangère peuvent être automatiquement créées en établissant des relations entre les tables.

    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

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:yisu.com
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