Pergunta

Qual é o comando para listar todos os gatilhos em um banco de dados MySQL?

Foi útil?

Solução

O comando para listar todos os gatilhos é:

show triggers;

ou você pode acessar o INFORMATION_SCHEMA tabela diretamente por:

select trigger_schema, trigger_name, action_statement
from information_schema.triggers

Outras dicas

Você pode usar abaixo para encontrar uma definição de gatilho específica.

SHOW TRIGGERS LIKE '%trigger_name%'\G

ou abaixo para mostrar todos os gatilhos no banco de dados.Funcionará para MySQL 5.0 e superior.

SHOW TRIGGERS\G

Espero que o código a seguir forneça mais informações.

select * from information_schema.triggers where 
information_schema.triggers.trigger_schema like '%your_db_name%'

Isso lhe dará um total de 22 colunas em Versão MySQL:5.5.27 e acima

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 um gatilho específico em um esquema específico, você pode tentar o seguinte:

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top