Какая команда выводит список всех триггеров в базе данных MySQL?
Ответы:
Команда для вывода списка всех триггеров:
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_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 и столбцы там, чтобы было ясно, что вы имеете дело не с обычной БД.