Il existe deux instructions pour les déclencheurs de requête MySQL : 1. Instruction "SHOW TRIGGERS [FROM database name];" qui permet d'afficher les informations de base de la base de données actuelle ou du déclencheur de base de données spécifié. 2. L'instruction « SELECT * FROM information_schema.triggers WHERE trigger_name= 'trigger name';" est utilisée pour afficher les informations d'un déclencheur spécifique et obtenir le contenu du déclencheur et ses métadonnées, telles que le nom de la table et le définisseur associés.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
L'affichage des déclencheurs fait référence à l'affichage des informations de définition, d'état et de syntaxe des déclencheurs qui existent déjà dans la base de données.
Il existe deux façons d'afficher les déclencheurs dans MySQL :
Instruction SHOW TRIGGERS
Interrogez la table de données des déclencheurs sous la base de données information_schema, etc.
1.
Dans MySQL, vous pouvez afficher les informations de base des déclencheurs via l'instruction SHOW TRIGGERS Le format de syntaxe est le suivant :
SHOW TRIGGERS [FROM 数据库名];
FROM 数据库名
: Il s'agit d'une instruction facultative si vous souhaitez afficher tous les déclencheurs de la base de données actuelle. , omettez-le ; si vous souhaitez obtenir des informations spécifiques sur tous les déclencheurs de la base de données, ne les omettez pas et spécifiez le nom de la base de données.
Exemple 1
Créez d'abord un compte de table de données. Il y a deux champs dans la table, un compte de type INT et un montant de type DECIMAL. L'instruction SQL et les résultats d'exécution sont les suivants :
mysql> CREATE TABLE account( -> accnum INT(4), -> amount DECIMAL(10,2)); Query OK, 0 rows affected (0.49 sec)
Créez un déclencheur nommé trigupdate et insérez une donnée dans la table de données myevent à chaque fois que la table de compte met à jour les données. L'instruction SQL et les résultats d'exécution pour créer la table de données myevent sont les suivants :
mysql> CREATE TABLE myevent( -> id INT(11) DEFAULT NULL, -> evtname CHAR(20) DEFAULT NULL); Query OK, 0 rows affected (0.26 sec)
Le code SQL pour créer le déclencheur trigupdate est le suivant :
mysql> CREATE TRIGGER trigupdate AFTER UPDATE ON account -> FOR EACH ROW INSERT INTO myevent VALUES(1,'after update'); Query OK, 0 rows affected (0.15 sec)
Utilisez l'instruction SHOW TRIGGERS pour afficher le déclencheur (ajoutez G après SHOW TRIGGERS commande, afin que les informations affichées soient plus organisées), les instructions SQL et les résultats d'exécution sont les suivants :
mysql> SHOW TRIGGERS \G
Vous pouvez voir les informations de base du déclencheur à partir des résultats d'exécution. La description des informations affichées ci-dessus est la suivante :
Trigger représente le nom du déclencheur, ici le nom du déclencheur est trigupdate ;
Event représente l'événement qui active le déclencheur, l'événement déclencheur ici est l'opération de mise à jour UPDATE ;
Table représente la table des objets d'opération qui active le déclencheur, voici la table des comptes
Statement représente l'opération effectuée par le déclencheur, voici l'insertion d'une donnée dans les données myevent ; table ;
Le timing représente le déclenchement du déclencheur. L'heure ici est après l'opération de mise à jour (APRÈS)
Il y a aussi d'autres informations, telles que l'heure de création du déclencheur, le mode SQL, le compte de définition. et le jeu de caractères du déclencheur, etc., qui ne seront pas présentés un par un ici. L'instruction
SHOW TRIGGERS est utilisée pour afficher des informations sur tous les déclencheurs actuellement créés. Étant donné que cette instruction ne peut pas interroger le déclencheur spécifié, il est pratique de l'utiliser lorsqu'il existe peu de déclencheurs. Si vous souhaitez afficher des informations sur un déclencheur spécifique ou s'il existe de nombreux déclencheurs dans la base de données, vous pouvez le rechercher directement dans la table de données des déclencheurs de la base de données information_schema.
2. Afficher les informations sur les déclencheurs dans la table des déclencheurs
Dans MySQL, toutes les informations sur les déclencheurs sont stockées dans la table des déclencheurs de la base de données information_schema. Elles peuvent être visualisées via la commande de requête SELECT. :
SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
Parmi eux, 'nom du déclencheur' est utilisé pour spécifier le nom du déclencheur à afficher et doit être placé entre guillemets simples. Cette méthode peut interroger le déclencheur spécifié, ce qui est plus pratique et plus flexible à utiliser.
Cette méthode vous permet de visualiser le contenu du déclencheur et ses métadonnées, telles que le nom de la table associée et le définisseur, qui est le nom de l'utilisateur MySQL qui a créé le déclencheur.
Exemple 2
Ce qui suit utilise la commande SELECT pour afficher le déclencheur trigupdate :
SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
La commande ci-dessus utilise WHERE pour spécifier le nom du déclencheur qui doit être affiché. le résultat est le suivant :
mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
En exécutant En conséquence, vous pouvez voir les détails du déclencheur. La description des informations affichées ci-dessus est la suivante :
TRIGGER_SCHEMA représente la base de données où se trouve le déclencheur ;
TRIGGER_NAME représente le nom du déclencheur
EVENT_OBJECT_TABLE représente la table de données sur laquelle se trouve le déclencheur ; ; et certaines autres informations, telles que l'heure de création du déclencheur, le mode SQL, le compte de définition du déclencheur et le jeu de caractères, etc., ne seront pas présentées une par une ici.
上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers \G
这个语句会显示 triggers 数据表中所有的触发器信息。
【相关推荐: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!