MySQLのトリガーの使い方は何ですか?
MySQLのトリガーは、特定のイベントがデータベースで発生した時に自動的に実行される特別なストアドプロシージャです。トリガーは以下のイベントが発生した際に発動します:
- 操作を挿入、更新、または削除する前(BEFORE)または後(AFTER)。
- SQL文のINSERT、UPDATE、DELETE文を実行した後。
MySQLトリガーの一般的な手順は次のとおりです:
- トリガーを作成し、トリガーの名前、トリガーの発生タイミング(BEFOREまたはAFTER)、およびイベントの種類(INSERT、UPDATE、DELETE)を指定します。
- 指定されたトリガーが属するテーブルの名前。
- トリガーが実行する操作を定義します。これは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公式ドキュメントを参照してください。