Как составить список всех триггеров в базе данных MySQL?
Вопрос
Какова команда для вывода списка всех триггеров в базе данных MySQL?
Решение
Команда для вывода списка всех триггеров:
show triggers;
или вы можете получить доступ к INFORMATION_SCHEMA
таблицу непосредственно:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
- Вы можете сделать это начиная с версии 5.0.10.
- Более подробная информация о
TRIGGERS
стол здесь.
Другие советы
Вы можете использовать ниже, чтобы найти конкретное определение триггера.
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
Чтобы отобразить конкретный триггер в конкретной схеме, вы можете попробовать следующее:
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'
Не связан с StackOverflow