





Команда для вывода списка всех триггеров:
show triggers;
или вы можете получить доступ к таблице INFORMATION_SCHEMA напрямую:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
TRIGGERS здесь.Спасибо за вторую «сложную» версию. Первый не работает (не знаю причину) ни на одном из хостов ...
Обратите внимание, что SHOW TRIGGERS требует, чтобы у вас была привилегия TRIGGER для этой базы данных и таблицы. Если вы войдете в MySQL с непривилегированным пользователем, выполнение SHOW TRIGGERS ничего не вернет, а не выдаст ошибку. Это может сбивать с толку, если вы не знаете о требованиях привилегий.
Чтобы показать конкретный триггер в конкретной схеме, вы можете попробовать следующее:
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'
Вы можете использовать ниже, чтобы найти конкретное определение триггера.
SHOW TRIGGERS LIKE '%trigger_name%'\G
или ниже, чтобы показать все триггеры в базе данных. Он будет работать с MySQL 5.0 и выше.
SHOW TRIGGERS\G
Я надеюсь, что следующий код даст вам больше информации.
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
Я бы избегал использования LIKE при работе со схемой. Я работал в средах, где это было бы подвержено ошибкам, когда у клиента была база данных с именем «company», а другая - с именем «company_project». Я также предлагаю использовать KEYWORDS с заглавной буквы для ясности, а INFORMATION_SCHEMA и столбцы там, чтобы было ясно, что вы не имеете дело с обычной БД.
Я бы рекомендовал использовать запрос «SHOW TRIGGERS» вместо прямого доступа к information_schema - последний будет очень медленным, если на сервере будет более тысячи баз данных, в то время как «SHOW TRIGGERS» по-прежнему имеет выдающуюся производительность.