MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  INFORMATION_SCHEMA テーブル  /  INFORMATION_SCHEMA TRIGGERS テーブル

26.45 INFORMATION_SCHEMA TRIGGERS テーブル

TRIGGERS テーブルはトリガーに関する情報を提供します。 テーブルトリガーに関する情報を表示するには、そのテーブルに対する TRIGGER 権限が必要です。

TRIGGERS テーブルには、次のカラムがあります:

  • TRIGGER_CATALOG

    トリガーが属するカタログの名前。 この値は常に def です。

  • TRIGGER_SCHEMA

    トリガーが属するスキーマ (データベース) の名前。

  • TRIGGER_NAME

    トリガーの名前。

  • EVENT_MANIPULATION

    トリガーイベント。 これは、トリガーが有効になる、関連付けられたテーブルに対する操作の種類です。 値は、INSERT (行が挿入された場合)、DELETE (行が削除された場合) または UPDATE (行が変更された場合) です。

  • EVENT_OBJECT_CATALOGEVENT_OBJECT_SCHEMA および EVENT_OBJECT_TABLE

    セクション25.3「トリガーの使用」 で説明されているように、すべてのトリガーは 1 つのテーブルにのみ関連付けられます。 これらのカラムは、このテーブルが発生するカタログおよびスキーマ (データベース) と、それぞれテーブル名を示します。 EVENT_OBJECT_CATALOG 値は常に def です。

  • ACTION_ORDER

    同じ EVENT_MANIPULATION 値と ACTION_TIMING 値を持つ同じテーブルのトリガーリスト内のトリガーアクションの順序位置。

  • ACTION_CONDITION

    この値は常に NULL です。

  • ACTION_STATEMENT

    トリガー本体 (トリガーがアクティブ化されたときに実行されるステートメント)。 このテキストは UTF-8 エンコーディングを使用します。

  • ACTION_ORIENTATION

    この値は常に ROW です。

  • ACTION_TIMING

    トリガーを起動するイベントの前または後にトリガーをアクティブ化するかどうか。 値は BEFORE または AFTER です。

  • ACTION_REFERENCE_OLD_TABLE

    この値は常に NULL です。

  • ACTION_REFERENCE_NEW_TABLE

    この値は常に NULL です。

  • ACTION_REFERENCE_OLD_ROW および ACTION_REFERENCE_NEW_ROW

    古いカラム識別子と新しいカラム識別子。 ACTION_REFERENCE_OLD_ROW の値は常に OLD で、ACTION_REFERENCE_NEW_ROW の値は常に NEW です。

  • CREATED

    トリガーが作成された日時。 これは、トリガーの TIMESTAMP(2) 値 (小数部は数百秒) です。

  • SQL_MODE

    トリガーの作成時およびトリガーの実行時に有効な SQL モード。 指定可能な値については、セクション5.1.11「サーバー SQL モード」を参照してください。

  • DEFINER

    'user_name'@'host_name'形式の DEFINER 句で指定されたアカウント (多くの場合、トリガーを作成したユーザー)。

  • CHARACTER_SET_CLIENT

    トリガー作成時の character_set_client システム変数のセッション値。

  • COLLATION_CONNECTION

    トリガー作成時の collation_connection システム変数のセッション値。

  • DATABASE_COLLATION

    トリガーが関連付けられているデータベースの照合。

次の例では、セクション25.3「トリガーの使用」 で定義されている ins_sum トリガーを使用します:

mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
       WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='ins_sum'\G
*************************** 1. row ***************************
           TRIGGER_CATALOG: def
            TRIGGER_SCHEMA: test
              TRIGGER_NAME: ins_sum
        EVENT_MANIPULATION: INSERT
      EVENT_OBJECT_CATALOG: def
       EVENT_OBJECT_SCHEMA: test
        EVENT_OBJECT_TABLE: account
              ACTION_ORDER: 1
          ACTION_CONDITION: NULL
          ACTION_STATEMENT: SET @sum = @sum + NEW.amount
        ACTION_ORIENTATION: ROW
             ACTION_TIMING: BEFORE
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
  ACTION_REFERENCE_OLD_ROW: OLD
  ACTION_REFERENCE_NEW_ROW: NEW
                   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 ステートメントからも入手できます。 セクション13.7.7.40「SHOW TRIGGERS ステートメント」を参照してください。


関連キーワード:  SCHEMA, テーブル, INFORMATION, INNODB, トリガー, TABLE, REFERENCE, EVENT, TRIGGERS, NEW