Quelle est la commande pour lister tous les déclencheurs dans une base de données MySQL?Comment lister tous les déclencheurs dans une base de données MySQL?
Répondre
La commande est:
show triggers
ou vous pouvez accéder à la table INFORMATION_SCHEMA
directement par:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
- Vous pouvez le faire à partir de la version 5.0.10 partir.
- Plus d'informations sur le
TRIGGERS
table is here.
Pour montrer un déclencheur particulier dans un schéma particulier, vous pouvez essayer ce qui suit:
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'
Vous pouvez utiliser ci-dessous pour une définition de déclencheur particulier.
SHOW TRIGGERS LIKE '%trigger_name%'\G
ou ci-dessous pour afficher tous les déclencheurs dans la base de données. Cela fonctionnera pour MySQL 5.0 et plus.
SHOW TRIGGERS\G
J'espère que le code suivant vous donnera plus d'informations.
select * from information_schema.triggers where
information_schema.triggers.trigger_schema like '%your_db_name%'
Cela vous donnera un total de 22 colonnes dans version de MySQL: 5.5.27 et au-dessus
TRIGGER_CATALOG
TRIGGER_SCHEMA
TRIGGER_NAME
EVENT_MANIPULATION
EVENT_OBJECT_CATALOG
EVENT_OBJECT_SCHEMA
EVENT_OBJECT_TABLE
ACTION_ORDER
ACTION_CONDITION
ACTION_STATEMENT
ACTION_ORIENTATION
ACTION_TIMING
ACTION_REFERENCE_OLD_TABLE
ACTION_REFERENCE_NEW_TABLE
ACTION_REFERENCE_OLD_ROW
ACTION_REFERENCE_NEW_ROW
CREATED
SQL_MODE
DEFINER
CHARACTER_SET_CLIENT
COLLATION_CONNECTION
DATABASE_COLLATION
J'éviterais d'utiliser 'LIKE' quand je ferais face à un schéma. J'ai travaillé dans des environnements où le faire de cette façon serait source d'erreurs si un client avait une base de données nommée "company" et une autre nommée "company_project". Je suggère également de capitaliser KEYWORDS pour plus de clarté et INFORMATION_SCHEMA et les colonnes là-bas donc il est clair que vous n'avez pas affaire à une base de données régulière. – AndrewWhalan
- 1. Comment puis-je lister les types définis par l'utilisateur dans une base de données SQL Server?
- 2. Comment archiver une base de données MySQL?
- 3. Comment supprimer une base de données MySQL?
- 4. Comment les déclencheurs fonctionneront?
- 5. Utilisation des déclencheurs MySQL pour créer une base de données à l'insertion
- 6. En utilisant MySQL déclencheurs pour enregistrer tous les changements de table à une table secondaire
- 7. Comment lister par programme tous les contrôleurs dans Rails
- 8. comment stocker une date dans une base de données mysql?
- 9. Avez-vous besoin de déclencheurs sur un esclave de base de données mysql?
- 10. Comment lister tous les ordinateurs et la dernière fois qu'ils ont ouvert une session dans AD?
- 11. Les déclencheurs MySQL sont-ils asynchrones
- 12. Comment puis-je lister tous les processus s'exécutant sous Windows?
- 13. Hibernate Search - Comment lister tous les enregistrements par défaut
- 14. Comptage de plusieurs entrées dans une base de données MySQL?
- 15. Comment faire pour compenser les dates dans une base de données MySQL par 1 seconde?
- 16. Script tous les objets dans une base de données dans une table
- 17. longueur de la colonne à travers toutes les tables dans une base de données MySQL
- 18. Trouver tous les objets de base de données par nom?
- 19. Configuration de base de données MySQL dans une classe séparée
- 20. Comment comparer les schémas de base de données MySQL
- 21. comment je grep à travers une base de données mysql?
- 22. Comment lister toutes les tables ou seulement ceux d'une base de données
- 23. Comment convertir une base de données MySQL en XML?
- 24. Comment puis-je obtenir les dix dernières lignes dans une table de base de données Mysql?
- 25. Créer une base de données avec un emplacement de données spécifique dans MySQL pour une base de données
- 26. Comment extraire les enregistrements et tous les enregistrements enfants dans une base de données dans les entités ADO.NET?
- 27. Comment activer STRICT_ALL_TABLES 'pour une seule base de données MySQL?
- 28. Comment vider une base de données MySQL avec ant?
- 29. sélection de la première colonne de toutes les tables dans une base de données mysql
- 30. de caractères dans une base MySQL
Je vous conseille d'aller à l'aide de la "SHOW DÉCLENCHEURS" requête au lieu d'accéder directement information_schema - ce dernier sera très lent une fois que vous aurez plus de mille bases de données sur le serveur alors que "SHOW TRIGGERS" aura toujours une performance exceptionnelle. –
Merci pour la deuxième version "compliquée". La première ne fonctionne pas (ne connaît pas la résion) sur l'un des hôtes ... – userlond
Notez que 'SHOW TRIGGERS' nécessite que vous ayez le privilège' TRIGGER' pour cette base de données et cette table. Si vous vous connectez à MySQL avec un utilisateur non privilégié, l'exécution de 'SHOW TRIGGERS' ne retournera rien au lieu de lancer une erreur. Cela peut être déroutant si vous n'êtes pas au courant de l'exigence de privilège. –