Pregunta

¿Cuál es el comando para enumerar todos los desencadenantes en una base de datos MySQL?

¿Fue útil?

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

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
scroll top