挿入と更新の両方に対する MySQL ファイア トリガー: 共通の手順によるトリガーの結合
MySQL でデータを管理する場合、トリガーは非常に貴重なツールですデータベーステーブルで発生するイベントを処理および検証します。プロセスを合理化するには、個別のトリガーを定義することなく、挿入イベントと更新イベントの両方でアクションをトリガーすることが望ましいです。
元の質問は、この課題の解決策を模索しており、トリガーを統合してコードの繰り返しを減らしたいという要望を表しています。 。 MySQL は挿入イベントと更新イベントの両方に対して単一のトリガーをネイティブにサポートしていませんが、ストアド プロシージャを使用する回避策があります。
トリガーを組み合わせる鍵は、共通のアクションをカプセル化するストアド プロシージャを作成することにあります。このプロシージャは、挿入トリガーと更新トリガーの両方から呼び出すことができ、ロジックを効果的に一元化できます。
これを実現する方法は次のとおりです。
ストアド プロシージャを作成する:
CREATE PROCEDURE my_trigger_procedure(...) BEGIN -- Insert and update logic here END //
挿入トリガーの作成:
CREATE TRIGGER my_insert_trigger AFTER INSERT ON `table` FOR EACH ROW BEGIN CALL my_trigger_procedure(...); END //
トリガーの更新:
CREATE TRIGGER my_update_trigger AFTER UPDATE ON `table` FOR EACH ROW BEGIN CALL my_trigger_procedure(...); END //
このソリューションでは、my_trigger_procedure が中央スクリプトとして機能し、両方のトリガーがコードを繰り返すことなく必要なアクションをシームレスに実行できるようにします。
以上がストアド プロシージャを使用して挿入および更新操作の MySQL トリガーを組み合わせる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。