IT story

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

hot-time 2020. 9. 9. 20:13
반응형

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


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


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

show triggers;

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

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

그러면 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

특정 스키마에서 특정 트리거를 표시하려면 다음을 시도 할 수 있습니다.

select * from information_schema.triggers where 
information_schema.triggers.trigger_name like '%trigger_name%' and 
information_schema.triggers.trigger_schema like '%data_base_name%'

참고 URL : https://stackoverflow.com/questions/47363/how-do-you-list-all-triggers-in-a-mysql-database

반응형