Como você lista todos os gatilhos em um banco de dados MySQL?
Pergunta
Qual é o comando para listar todos os gatilhos em um banco de dados MySQL?
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
- Você pode fazer isso a partir da versão 5.0.10.
- Mais informações sobre o
TRIGGERS
a mesa está aqui.
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