ホームページ  >  記事  >  データベース  >  MySQL でイベントの挿入と更新に対して同一のトリガー ロジックを処理するにはどうすればよいですか?

MySQL でイベントの挿入と更新に対して同一のトリガー ロジックを処理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-12 16:54:021023ブラウズ

How to Handle Identical Trigger Logic for Insert and Update Events in MySQL?

挿入と更新の両方の MySQL トリガー

MySQL では、テーブルの挿入イベントと更新イベントの両方に対して起動する単一のトリガーを作成することはできません。したがって、イベントごとに 1 つずつ、2 つの別々のトリガーを作成する必要があります。

ただし、トリガー コードが挿入イベントと更新イベントの両方で同じである場合は、共通のコードをストアド プロシージャに移動し、代わりにトリガーにプロシージャを呼び出してもらいます。この方法により、複数のトリガーで同じコードを繰り返すことを避けることができます。

これを行う方法の例を次に示します:

ストアド プロシージャを作成します:

CREATE PROCEDURE common_trigger_code()
BEGIN
    -- Insert or update some data...
END //

インサートを作成するトリガー:

CREATE TRIGGER insert_trigger
AFTER INSERT ON `table`
FOR EACH ROW
CALL common_trigger_code();

更新トリガーの作成:

CREATE TRIGGER update_trigger
AFTER UPDATE ON `table`
FOR EACH ROW
CALL common_trigger_code();

このソリューションにより、共通コードは 1 回だけ記述され、簡単に更新できるようになります。将来的には。

以上がMySQL でイベントの挿入と更新に対して同一のトリガー ロジックを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。