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 サイトの他の関連記事を参照してください。