[mysql] MySQL 데이터베이스의 모든 트리거를 어떻게 나열합니까?
MySQL 데이터베이스의 모든 트리거를 나열하는 명령은 무엇입니까?
답변
모든 트리거를 나열하는 명령은 다음과 같습니다.
show triggers;
또는 다음을 통해 INFORMATION_SCHEMA
테이블에 직접 액세스 할 수 있습니다 .
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
- 5.0.10 버전부터이 작업을 수행 할 수 있습니다.
TRIGGERS
표 에 대한 자세한 내용 은 여기에 있습니다 .
답변
다음 코드가 더 많은 정보를 제공하기를 바랍니다.
select * from information_schema.triggers where
information_schema.triggers.trigger_schema like '%your_db_name%'
그러면 MySQL 버전 에서 총 22 개의 열이 제공됩니다 : 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
답변
아래에서 특정 트리거 정의를 찾을 수 있습니다.
SHOW TRIGGERS LIKE '%trigger_name%'\G
또는 아래에서 데이터베이스의 모든 트리거를 표시합니다. MySQL 5.0 이상에서 작동합니다.
SHOW TRIGGERS\G
답변
특정 스키마에서 특정 트리거를 표시하려면 다음을 시도 할 수 있습니다.
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'