Qual é o comando para listar todos os gatilhos em um banco de dados MySQL?
Qual é o comando para listar todos os gatilhos em um banco de dados MySQL?
Respostas:
O comando para listar todos os gatilhos é:
show triggers;
ou você pode acessar a INFORMATION_SCHEMA
tabela diretamente por:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
TRIGGERS
mesa estão aqui .SHOW TRIGGERS
requer que você tenha o TRIGGER
privilégio para esse banco de dados e tabela. Se você efetuar login no MySQL com um usuário sem privilégios, a execução SHOW TRIGGERS
não retornará nada em vez de gerar um erro. Isso pode ser confuso se você não estiver ciente do requisito de privilégio.
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 na versão do 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
LIKE
ao lidar com o esquema. Eu trabalhei em ambientes onde fazer dessa forma seria propenso a erros, onde um cliente tinha um banco de dados chamado "empresa" e outro chamado "empresa_projeto". Eu também sugeriria capitalizar KEYWORDS para maior clareza e INFORMATION_SCHEMA e as colunas lá para que fique claro que você não está lidando com um banco de dados normal.