SHOW TRIGGERS [{FROM | IN}db_name
] [LIKE 'pattern
' | WHEREexpr
]
SHOW TRIGGERS
は、データベース
(FROM
節が指定されていないかぎり、デフォルトデータベース)
内のテーブルに対して現在定義されているトリガーを一覧表示します。このステートメントには、TRIGGER
権限が必要です (MySQL 5.1.22
より前のバージョンでは
SUPER
権限が必要です)。LIKE
節 (存在する場合)
は、どのテーブル名と照合するかを示し、このステートメントでこれらのテーブルのトリガーが表示されるようにします。Extensions to SHOW
Statements
で説明されているように、WHERE
節を指定すると、より一般的な条件を使用して行を選択できます。
Using Triggers
内で定義されている、トリガー
ins_sum
に対しては、このステートメントの出力はここに表されているようになります。
mysql> SHOW TRIGGERS LIKE 'acc%'\G
*************************** 1. row ***************************
Trigger: ins_sum
Event: INSERT
Table: account
Statement: SET @sum = @sum + NEW.amount
Timing: BEFORE
Created: NULL
sql_mode:
Definer: myname@localhost
character_set_client: latin1
collation_connection: latin1_swedish_ci
Database Collation: latin1_swedish_ci
character_set_client
は、このトリガーが作成されたときの
character_set_client
システム変数のセッション値です。collation_connection
は、このトリガーが作成されたときの
collation_connection
システム変数のセッション値です。Database
Collation
は、このトリガーが関連付けられているデータベースの照合です。これらのカラムは、MySQL
5.1.21 で追加されました。
LIKE
節を
SHOW TRIGGERS
とともに使用する場合、照合される式
(expr
)
はトリガーの名前ではなく、トリガーが宣言されているこのテーブルの名前と比較されます。
mysql> SHOW TRIGGERS LIKE 'ins%';
Empty set (0.01 sec)
このステートメントの出力内のカラムに関する簡単な説明はここに表されています。
Trigger
トリガー名。
イベント
トリガーを有効にするイベント:'INSERT'
、'UPDATE'
、または
'DELETE'
の 1 つ。
テーブル
トリガーが定義されるテーブル。
Statement
トリガーが有効にされたときに実行されるステートメント。これは
INFORMATION_SCHEMA.TRIGGERS
の
ACTION_STATEMENT
内に表されているテキストと同じです。
タイミング
'BEFORE'
か
'AFTER'
の 2
つの値の 1 つ。
Created
現在、このカラムの値はいつでも
NULL
です。
sql_mode
トリガーが実行するときに有効な SQL モード。
Definer
トリガーを作成したアカウント。
The INFORMATION_SCHEMA TRIGGERS
Table
も参照してください。