このステートメントは、トリガーを作成する際の CREATE TRIGGER ステートメントを表示します。
SHOW CREATE TRIGGER ステートメントの構文は次のとおりです:
SHOW CREATE TRIGGER trigger_name;
このステートメントを実行するには、トリガーに関連付けられたテーブルに TRIGGER 権限が付与されている必要があります。
SHOW CREATE TRIGGER は、以下の情報を出力します:
Trigger:トリガー名。sql_mode:トリガー実行時に有効なSQLモード。SQL Original Statement:トリガーを定義するCREATE TRIGGERステートメント。character_set_client:トリガー作成時のcharacter_set_clientシステム変数の現在のセッションでの値。collation_connection:トリガー作成時のcollation_connectionシステム変数の現在のセッションでの値。Database Collation:トリガーに関連付けられたデータベースの照合順序。Created:トリガーの作成日時。値の型はTIMESTAMP(2)(小数部は100分の1秒)です。
トリガー情報は、INFORMATION_SCHEMA TRIGGERS テーブルから取得することもできます。詳細については、INFORMATION_SCHEMA TRIGGERSを参照してください。
SHOW CREATE TRIGGER ステートメントの例:
obclient> SHOW CREATE TRIGGER test_trg;
+--------------+----------+-----------------+-----------------------+----------------------+--------------------+
| Trigger | sql_mode | SQL Original Statement | character_set_client | collation_connection | Database Collation |
+--------------+----------+-----------------+-----------------------+----------------------+--------------------+
| test_trg | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE |CREATE TRIGGER test_trg BEFORE UPDATE ON test FOR EACH ROW BEGIN IF NEW.user_num < 1 THENSET NEW.user_num = 1; ELSEIF NEW.user_num > 45 THEN SET NEW.user_num= 45; END IF;END | utf8mb4 | utf8mb4 | utf8mb4 |
+--------------+----------+-----------------+-----------------------+----------------------+--------------------+--------+
1 row in set