[mysql] MySQL 데이터베이스의 모든 트리거를 어떻게 나열합니까?

MySQL 데이터베이스의 모든 트리거를 나열하는 명령은 무엇입니까?



답변

모든 트리거를 나열하는 명령은 다음과 같습니다.

show triggers;

또는 다음을 통해 INFORMATION_SCHEMA테이블에 직접 액세스 할 수 있습니다 .

select trigger_schema, trigger_name, action_statement
from information_schema.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%'


답변