TRIGGERS
テーブルはトリガに関する情報を提供します。このテーブルにアクセスするには
SUPER
権限が必要です。
INFORMATION_SCHEMA
名 |
SHOW 名 |
備考 |
TRIGGER_CATALOG |
NULL |
|
TRIGGER_SCHEMA |
||
TRIGGER_NAME |
Trigger |
|
EVENT_MANIPULATION |
Event |
|
EVENT_OBJECT_CATALOG |
NULL |
|
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 |
NULL (0 ) |
|
SQL_MODE |
MySQL 拡張 | |
DEFINER |
MySQL 拡張 |
注:
TRIGGER_SCHEMA
および
TRIGGER_NAME
カラムはトリガが発生するデータベースおよびトリガ名をそれぞれ含みます。
EVENT_MANIPULATION
カラムは
'INSERT'
、'DELETE'
、あるいは
'UPDATE'
のいずれかの値を含みます。
章 18. トリガ
で説明したように、すべてのトリガは正確に 1
つのテーブルに関連付けられます。EVENT_OBJECT_SCHEMA
および EVENT_OBJECT_TABLE
カラムはこのテーブルが発生するデータベース、およびテーブル名を含みます。
ACTION_ORDER
ステートメントは同じテーブルのすべての類似トリガ
リストのトリガの実行順序を含みます。現在この値は常に
0
です。というのは同じテーブルで同じ
EVENT_MANIPULATION
および
ACTION_TIMING
で1
つ以上のトリガを持てないからです。
ACTION_STATEMENT
カラムはトリガが呼び出されたときに実行されるステートメントを含みます。これは
SHOW TRIGGERS
から出力される
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
モードに関係なくトリガが呼び出されたときにはいつでも有効です)
有効だったサーバーの SQL
モードを表示します。このカラムの可能な範囲の値は
sql_mode
システム変数と同じです。項4.2.6. 「SQL モード」
を参照してください。
DEFINER
カラムが MySQL 5.1.2
に追加されました。DEFINER
は誰がトリガを定義したかを示します。
以下のカラムは常に NULL
を含みます。TRIGGER_CATALOG
、EVENT_OBJECT_CATALOG
、ACTION_CONDITION
、ACTION_REFERENCE_OLD_TABLE
、ACTION_REFERENCE_NEW_TABLE
、および
CREATED
。
項18.3. 「トリガの使用」
で定義されたins_sum
の使用例
mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS\G
*************************** 1. row ***************************
TRIGGER_CATALOG: NULL
TRIGGER_SCHEMA: test
TRIGGER_NAME: ins_sum
EVENT_MANIPULATION: INSERT
EVENT_OBJECT_CATALOG: NULL
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:
DEFINER: me@localhost
項12.5.4.29. 「SHOW TRIGGERS
構文」 も参照してください。