mysql クエリ トリガーには 2 つのステートメントがあります: 1. 「SHOW TRIGGERS [FROM データベース名];」ステートメント。現在のデータベースまたは指定されたデータベース トリガーの基本情報を表示できます。 2. 「SELECT * FROM information_schema.triggers WHERE trigger_name= 'trigger name';」ステートメントは、特定のトリガーの情報を表示し、トリガーの内容とそのメタデータ (関連するテーブル名や定義者など) を取得するために使用されます。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
トリガーの表示とは、データベースにすでに存在するトリガーの定義、ステータス、および構文情報を表示することを指します。
MySQL でトリガーを表示するには 2 つの方法があります:
SHOW TRIGGERS ステートメント
information_schema データベースのクエリ トリガー データテーブルなど
#1. SHOW TRIGGERS ステートメントを使用してトリガー情報を表示します
MySQL では、以下を使用できます。 SHOW TRIGGERS ステートメントを使用してトリガーの基本情報を表示します。構文形式は次のとおりです。SHOW TRIGGERS [FROM 数据库名];
FROM データベース名 : はオプションのステートメントです。すべてのトリガーを表示する場合は省略します。現在のデータベース内; 特定のデータベース内のすべてのトリガーを取得し、省略せずにデータベース名を指定します。
例 1
まず、データ テーブル アカウントを作成します。テーブルには、INT 型の accnum と DECIMAL 型の amount の 2 つのフィールドがあります。 SQL ステートメントと実行結果は次のとおりです。mysql> CREATE TABLE account( -> accnum INT(4), -> amount DECIMAL(10,2)); Query OK, 0 rows affected (0.49 sec)trigupdate という名前のトリガーを作成し、account テーブルがデータを更新するたびに myevent データ テーブルにデータを挿入します。データ テーブル myevent を作成する SQL ステートメントと実行結果は次のとおりです。
mysql> CREATE TABLE myevent( -> id INT(11) DEFAULT NULL, -> evtname CHAR(20) DEFAULT NULL); Query OK, 0 rows affected (0.26 sec)trigupdate トリガーを作成する SQL コードは次のとおりです。
mysql> CREATE TRIGGER trigupdate AFTER UPDATE ON account -> FOR EACH ROW INSERT INTO myevent VALUES(1,'after update'); Query OK, 0 rows affected (0.15 sec)SHOW TRIGGERS ステートメントを使用して、トリガー (SHOW TRIGGERS コマンドの後に \ を追加します) G、この方法で表示される情報はより整理されます)、SQL ステートメントと実行結果は次のとおりです:
mysql> SHOW TRIGGERS \GYou実行結果からトリガーの基本情報を確認できます。上記の表示情報の説明は次のとおりです:
2. トリガー テーブルでトリガー情報を表示する
MySQL では、すべてのトリガー情報は information_schema データベースのトリガー テーブルに存在します。クエリ コマンド SELECT を通じて表示できます。具体的な構文は次のとおりです:SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';このうち、「トリガー名」は表示するトリガーの名前を指定するために使用され、一重引用符で囲む必要があります。 。このメソッドは、指定されたトリガーをクエリできるため、より便利で柔軟に使用できます。 このメソッドを使用すると、トリガーの内容と、関連付けられたテーブル名やトリガーを作成した MySQL ユーザーの名前である定義者などのメタデータを表示できます。
例 2
以下では、SELECT コマンドを使用して trigupdate トリガーを表示します。SQL ステートメントは次のとおりです:SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G上記のコマンドは、参照する必要があるトリガーを指定する WHERE トリガーの名前、実行結果は次のとおりです:
mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\Gトリガーの詳細情報は、以下から確認できます。実行結果。上記に表示される情報の説明は次のとおりです:
上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers \G
这个语句会显示 triggers 数据表中所有的触发器信息。
【相关推荐:mysql视频教程】
以上がmysqlクエリトリガーのステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。