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)
mysql> CREATE TABLE myevent( -> id INT(11) DEFAULT NULL, -> evtname CHAR(20) DEFAULT NULL); Query OK, 0 rows affected (0.26 sec)
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)
mysql> SHOW TRIGGERS \G
2. トリガー テーブルでトリガー情報を表示する
MySQL では、すべてのトリガー情報は information_schema データベースのトリガー テーブルに存在します。クエリ コマンド SELECT を通じて表示できます。具体的な構文は次のとおりです:SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
例 2
以下では、SELECT コマンドを使用して trigupdate トリガーを表示します。SQL ステートメントは次のとおりです:SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:
SELECT * FROM information_schema.triggers \G
这个语句会显示 triggers 数据表中所有的触发器信息。
【相关推荐:mysql视频教程】
以上がmysqlクエリトリガーのステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。