TRIGGERS
テーブルはトリガーに関する情報を提供します。自身が TRIGGER
権限を保有しているデータベースとテーブルの情報だけを表示できます。
INFORMATION_SCHEMA 名 |
SHOW 名 |
備考 |
---|---|---|
TRIGGER_CATALOG |
def |
|
TRIGGER_SCHEMA |
||
TRIGGER_NAME |
Trigger |
|
EVENT_MANIPULATION |
Event |
|
EVENT_OBJECT_CATALOG |
def |
|
EVENT_OBJECT_SCHEMA |
||
EVENT_OBJECT_TABLE |
Table |
|
ACTION_ORDER |
0 |
|
ACTION_CONDITION |
NULL |
|
ACTION_STATEMENT |
Statement |
|
ACTION_ORIENTATION |
ROW |
|
ACTION_TIMING |
Timing |
|
ACTION_REFERENCE_OLD_TABLE |
NULL |
|
ACTION_REFERENCE_NEW_TABLE |
NULL |
|
ACTION_REFERENCE_OLD_ROW |
OLD |
|
ACTION_REFERENCE_NEW_ROW |
NEW |
|
CREATED |
Created |
|
SQL_MODE |
sql_mode |
MySQL 拡張 |
DEFINER |
Definer |
MySQL 拡張 |
CHARACTER_SET_CLIENT |
character_set_client |
MySQL 拡張 |
COLLATION_CONNECTION |
collation_connection |
MySQL 拡張 |
DATABASE_COLLATION |
Database Collation |
MySQL 拡張 |
注:
「
SHOW
名」カラム内の名前は、SHOW CREATE TRIGGER
ではなくSHOW TRIGGERS
ステートメントを示します。セクション13.7.5.39「SHOW TRIGGERS 構文」を参照してください。TRIGGER_SCHEMA
およびTRIGGER_NAME
: それぞれ、トリガーが実行されるデータベースの名前とトリガー名です。EVENT_MANIPULATION
: トリガーイベントです。これは、トリガーが有効になる、関連付けられたテーブルに対する操作の種類です。値は、'INSERT'
(行が挿入された場合)、'DELETE'
(行が削除された場合)、または'UPDATE'
(行が変更された場合) です。EVENT_OBJECT_SCHEMA
およびEVENT_OBJECT_TABLE
: セクション20.3「トリガーの使用」に記したように、すべてのトリガーは厳密に 1 つのテーブルに関連付けられます。これらのカラムには、このテーブルが存在するデータベースと、テーブル名がそれぞれ示されます。ACTION_ORDER
: 同じテーブルで類似したトリガーのリスト内の、トリガーアクションの順序位置です。現在、この値は常に0
です。これは、同じテーブルで同じEVENT_MANIPULATION
およびACTION_TIMING
のトリガーを複数持つことはできないためです。ACTION_STATEMENT
: トリガー本体です。つまり、トリガーの有効時に実行されるステートメントです。このテキストは UTF-8 エンコーディングを使用します。ACTION_ORIENTATION
: 常に'ROW'
の値を含みます。ACTION_TIMING
: トリガーが有効になるのが、トリガーイベントの前かあとかを指定します。値は'BEFORE'
または'AFTER'
です。ACTION_REFERENCE_OLD_ROW
およびACTION_REFERENCE_NEW_ROW
: それぞれ古いカラム識別子と新しいカラム識別子です。このことは、ACTION_REFERENCE_OLD_ROW
が常に'OLD'
の値を含み、ACTION_REFERENCE_NEW_ROW
が常に'NEW'
の値を含むことを意味します。SQL_MODE
: トリガーが作成されたときに有効であり、トリガーを実行するときの SQL モードです。指定可能な値については、セクション5.1.7「サーバー SQL モード」を参照してください。DEFINER
:'
形式で示した、トリガーを作成したユーザーのアカウントです。user_name
'@'host_name
'CHARACTER_SET_CLIENT
: トリガーが作成されたときのcharacter_set_client
システム変数のセッション値です。COLLATION_CONNECTION
: トリガーが作成されたときのcollation_connection
システム変数のセッション値です。DATABASE_COLLATION
: トリガーが関連付けられているデータベースの照合順序です。ACTION_CONDITION
、ACTION_REFERENCE_OLD_TABLE
、ACTION_REFERENCE_NEW_TABLE
、およびCREATED
のカラムには現在、NULL
が常に含まれます。
セクション20.3「トリガーの使用」で定義された ins_sum
トリガーを使用した例です。
mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
-> WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='ins_sum'\G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: ins_sum
EVENT_MANIPULATION: INSERT
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: account
ACTION_ORDER: 0
ACTION_CONDITION: NULL
ACTION_STATEMENT: SET @sum = @sum + NEW.amount
ACTION_ORIENTATION: ROW
ACTION_TIMING: BEFORE
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
ACTION_REFERENCE_OLD_ROW: OLD
ACTION_REFERENCE_NEW_ROW: NEW
CREATED: NULL
SQL_MODE: NO_ENGINE_SUBSTITUTION
DEFINER: me@localhost
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci
DATABASE_COLLATION: latin1_swedish_ci