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


25.3 トリガーの使用

トリガーとは、テーブルに関連付けられ、そのテーブルに対して特定のイベントが発生するとアクティブ化される名前付きデータベースオブジェクトのことです。 トリガーを使用する場合には、テーブルに挿入する値のチェックを実行したり、更新にかかわる値の計算を実行したりする場合があります。

トリガーは、関連付けられたテーブルでステートメントが行の挿入、更新、または削除を行なったときにアクティブ化するように定義されます。 これらの行操作がトリガーイベントになります。 たとえば、行は、INSERT または LOAD DATA ステートメントで挿入でき、挿入トリガーは挿入された行ごとにアクティブ化します。 トリガーは、トリガーイベントの前または後のどちらかでアクティブ化するように設定できます。 たとえば、テーブルに挿入される各行の前、または更新される各行のあとでトリガーをアクティブ化させることができます。

重要

MySQL のトリガーは、SQL ステートメントがテーブルに対して行なった変更の場合にのみアクティブ化します。 これには、更新可能なビューの基礎となる実テーブルに対する変更が含まれます。 トリガーでは、SQL ステートメントを MySQL Server に送信しない API によって行われたテーブルに対する変更はアクティブ化されません。 これは、トリガーが NDB API を使用して行われた更新によってアクティブ化されないことを意味します。

トリガーは、INFORMATION_SCHEMA テーブルまたは performance_schema テーブルの変更によってアクティブ化されません。 これらのテーブルは実際にはビューであり、トリガーはビューでは許可されません。

次のセクションでは、トリガーを作成および削除するための構文について説明し、使用方法の例をいくつか挙げ、トリガーメタデータを取得する方法を示します。

追加のリソース


関連キーワード:  トリガー, テーブル, リファレンス, 挿入, 構文, メタデータ, 更新, マニュアル, 使用, ステートメント