SHOW TRIGGERS
[{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW TRIGGERS
は、データベース (FROM
句が指定されていないかぎり、デフォルトデータベース) 内のテーブルに対して現在定義されているトリガーを一覧表示します。 このステートメントは、ユーザーが TRIGGER
権限を持っているデータベースとテーブルに対してのみ結果を返します。 LIKE
句が存在する場合は、一致させるテーブル名 (トリガー名ではない) を指定し、そのテーブルのトリガーをステートメントに表示させます。 セクション26.55「SHOW ステートメントの拡張」で説明されているように、WHERE
句を指定すると、より一般的な条件を使用して行を選択できます。
セクション25.3「トリガーの使用」 で定義された ins_sum
トリガーの場合、SHOW TRIGGERS
の出力は次のようになります:
mysql> SHOW TRIGGERS LIKE 'acc%'\G
*************************** 1. row ***************************
Trigger: ins_sum
Event: INSERT
Table: account
Statement: SET @sum = @sum + NEW.amount
Timing: BEFORE
Created: 2018-08-08 10:10:12.61
sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
Definer: me@localhost
character_set_client: utf8mb4
collation_connection: utf8mb4_0900_ai_ci
Database Collation: utf8mb4_0900_ai_ci
SHOW TRIGGERS
出力には、次のカラムがあります:
-
Trigger
トリガーの名前。
-
イベント
トリガーイベント。 これは、トリガーが有効になる、関連付けられたテーブルに対する操作の種類です。 値は、
INSERT
(行が挿入された場合)、DELETE
(行が削除された場合) またはUPDATE
(行が変更された場合) です。 -
Table
トリガーが定義されているテーブル。
-
ステートメント
トリガー本体 (トリガーがアクティブ化されたときに実行されるステートメント)。
-
Timing
トリガーを起動するイベントの前または後にトリガーをアクティブ化するかどうか。 値は
BEFORE
またはAFTER
です。 -
Created
トリガーが作成された日時。 これは、トリガーの
TIMESTAMP(2)
値 (小数部は数百秒) です。 -
sql_mode
トリガーの作成時およびトリガーの実行時に有効な SQL モード。 指定可能な値については、セクション5.1.11「サーバー SQL モード」を参照してください。
-
Definer
トリガーを作成したユーザーのアカウント (
'
形式)。user_name
'@'host_name
' -
character_set_client
トリガー作成時の
character_set_client
システム変数のセッション値。 -
collation_connection
トリガー作成時の
collation_connection
システム変数のセッション値。 -
Database Collation
トリガーが関連付けられているデータベースの照合。
トリガー情報は、INFORMATION_SCHEMA
TRIGGERS
テーブルからも入手できます。 セクション26.45「INFORMATION_SCHEMA TRIGGERS テーブル」を参照してください。