このステートメントは、トリガーを作成するための 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