MySQLのトリガーの使い方は何ですか?

MySQLのトリガーは、特定のイベントがデータベースで発生した時に自動的に実行される特別なストアドプロシージャです。トリガーは以下のイベントが発生した際に発動します:

  1. 操作を挿入、更新、または削除する前(BEFORE)または後(AFTER)。
  2. SQL文のINSERT、UPDATE、DELETE文を実行した後。

MySQLトリガーの一般的な手順は次のとおりです:

  1. トリガーを作成し、トリガーの名前、トリガーの発生タイミング(BEFOREまたはAFTER)、およびイベントの種類(INSERT、UPDATE、DELETE)を指定します。
  2. 指定されたトリガーが属するテーブルの名前。
  3. トリガーが実行する操作を定義します。これはSQLステートメント、ストアドプロシージャ、または関数のいずれかです。

新しいレコードを挿入する前に、作成時間を自動的に更新するトリガーを作成する例を示します。

CREATE TRIGGER update_create_time BEFORE INSERT ON your_table
FOR EACH ROW
BEGIN
    SET NEW.create_time = NOW();
END;

上記の例において、update_create_timeはトリガーの名前であり、INSERT前にトリガーを発生させることを意味する。your_tableはトリガーが属するテーブル名であり、NEW.create_timeは新しく挿入されたレコードのcreate_timeフィールドを示している。

注意してください、トリガーの作成はデータベースでトリガーを有効にするオプションがオープンされている必要があります。次のコマンドで確認できます。

SHOW VARIABLES LIKE 'trigger%';

トリガーの値がONの場合、トリガー機能は有効になります。

MySQLトリガーの詳細情報や使い方については、MySQL公式ドキュメントを参照してください。

bannerAds