Как вы перечисляете все триггеры в базе данных MySQL? - PullRequest
82 голосов
/ 06 сентября 2008

Какая команда выводит список всех триггеров в базе данных MySQL?

Ответы [ 4 ]

118 голосов
/ 06 сентября 2008

Команда для перечисления всех триггеров:

show triggers;

или вы можете получить доступ к таблице INFORMATION_SCHEMA напрямую:

select trigger_schema, trigger_name, action_statement
from information_schema.triggers
12 голосов
/ 10 октября 2011

Вы можете использовать ниже, чтобы найти конкретное определение триггера.

SHOW TRIGGERS LIKE '%trigger_name%'\G

или ниже, чтобы показать все триггеры в базе данных. Это будет работать для MySQL 5.0 и выше.

SHOW TRIGGERS\G
11 голосов
/ 13 сентября 2013

Надеюсь, следующий код даст вам больше информации.

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

Это даст вам всего 22 столбца в Версия MySQL: 5.5.27 и выше

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
9 голосов
/ 31 августа 2011

Для отображения определенного триггера в конкретной схеме вы можете попробовать следующее:

select * from information_schema.triggers where 
information_schema.triggers.trigger_name like '%trigger_name%' and 
information_schema.triggers.trigger_schema like '%data_base_name%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...