SHOW TRIGGERS [{FROM | IN} db_name]
[LIKE 'pattern' | WHERE expr]
SHOW TRIGGERS
は、データベース (FROM
句が指定されていないかぎり、デフォルトデータベース) 内のテーブルに対して現在定義されているトリガーを一覧表示します。このステートメントは、ユーザーが TRIGGER
権限を持っているデータベースとテーブルに対してのみ結果を返します。LIKE
句 (存在する場合) は、(トリガー名ではなく) どのテーブル名と照合するかを示し、このステートメントでそのテーブルのトリガーを表示するようにします。セクション21.32「SHOW ステートメントの拡張」で説明されているように、WHERE
句を指定すると、より一般的な条件を使用して行を選択できます。
セクション20.3「トリガーの使用」で定義されているトリガー 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: NO_ENGINE_SUBSTITUTION
Definer: me@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
SHOW TRIGGERS
の出力には、次のカラムがあります。
Trigger
: トリガー名。Event
: このトリガーがアクティブ化される操作の種類。この値は、'INSERT'
、'UPDATE'
、または'DELETE'
です。Table
: このトリガーが定義されているテーブル。Statement
: トリガー本体。つまり、このトリガーがアクティブ化されるときに実行されるステートメント。Timing
: このトリガーが、トリガーイベントの前またはあとのどちらにアクティブ化されるか。値は'BEFORE'
または'AFTER'
です。Created
: 現在、このカラムの値は常にNULL
です。sql_mode
: このトリガーが実行されるときに有効な SQL モード。Definer
: このトリガーを作成したユーザーのアカウント。形式は'
です。user_name
'@'host_name
'character_set_client
: このトリガーが作成されたときのcharacter_set_client
システム変数のセッション値。collation_connection
: このトリガーが作成されたときのcollation_connection
システム変数のセッション値。Database Collation
: このトリガーが関連付けられているデータベースの照合順序。
また、TRIGGERS
テーブルを含む INFORMATION_SCHEMA
からトリガーオブジェクトに関する情報を取得することもできます。セクション21.26「INFORMATION_SCHEMA TRIGGERS テーブル」を参照してください。