¿Cómo se enumeran todos los desencadenantes en una base de datos MySQL?
Pregunta
¿Cuál es el comando para enumerar todos los desencadenantes en una base de datos MySQL?
Solución
El comando para enumerar todos los desencadenantes es:
show triggers;
o puedes acceder al INFORMATION_SCHEMA
tabla directamente por:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
- Puedes hacer esto desde la versión 5.0.10 en adelante.
- Más información sobre el
TRIGGERS
la mesa esta aqui.
Otros consejos
Puede utilizar lo siguiente para encontrar una definición de activador particular.
SHOW TRIGGERS LIKE '%trigger_name%'\G
o el siguiente para mostrar todos los desencadenantes en la base de datos.Funcionará para MySQL 5.0 y superior.
SHOW TRIGGERS\G
Espero que el siguiente código le brinde más información.
select * from information_schema.triggers where
information_schema.triggers.trigger_schema like '%your_db_name%'
Esto le dará un total de 22 columnas en Versión MySQL:5.5.27 y por encima
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
Para mostrar un activador particular en un esquema particular, puede intentar lo siguiente:
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow