挿入および更新イベント用の包括的な MySQL トリガーの設計
データベース管理システムでは、トリガーはユーザーがデータベース アクションを自動化できるようにする重要なメカニズムです。特定のイベントが発生したとき。そのような要件の 1 つは、新しいレコードがテーブルに挿入されるときだけでなく、既存のレコードが更新されるときにもトリガーを実行する必要があることです。
通常、挿入イベントと更新イベントに対して別個のトリガーを作成します。ただし、この機能を 1 つのトリガーに統合する方法があります。
考慮事項:
挿入イベントと更新イベントの両方に対して 1 つのトリガーを作成しようとする場合は、次の点を維持してください。
解決策:
推奨されるアプローチには、2 つのトリガーと保存された 1 つのトリガーを作成することが含まれます。手順。挿入トリガーと更新トリガーの間の共通コードはストアド プロシージャ内に配置され、両方のトリガーがこのプロシージャを呼び出して必要なアクションを実行します。
ステップ:
保存されたファイルを作成する手順:
CREATE PROCEDURE my_common_procedure() BEGIN -- Your common code here END
挿入トリガーの作成:
CREATE TRIGGER my_insert_trigger AFTER INSERT ON `table` FOR EACH ROW BEGIN CALL my_common_procedure(); END
作成アップデートトリガー:
CREATE TRIGGER my_update_trigger AFTER UPDATE ON `table` FOR EACH ROW BEGIN CALL my_common_procedure(); END
利点:
このアプローチにはいくつかの利点があります:
結論として、MySQL はネイティブで単一のトリガーをサポートしていません。複数のイベントのトリガーがある場合、トリガーとストアド プロシージャの組み合わせにより効果的な回避策が提供され、コードが統合され、コードの保守性が向上します。
以上がMySQL で挿入トリガーと更新トリガーを組み合わせる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。