ホームページ >データベース >mysql チュートリアル >MySQL でのデータトリガースキル
MySQL は、さまざまな操作や機能をサポートする、広く使用されているリレーショナル データベース管理システムです。その 1 つはデータ トリガー技術で、データベースにトリガーを定義することでデータの変更を監視および処理できます。この記事では、MySQL におけるデータ トリガー手法の基本原理、使用法、例を紹介します。
1. データ トリガーの基本原則
MySQL のデータ トリガーは、データベース内で定義して実行できる特殊なタイプのストアド プロシージャです。これはテーブルと密接に関連付けられており、指定されたイベント (挿入、更新、削除など) が発生すると、対応するトリガーの実行がトリガーされます。
MySQL のデータ トリガーの基本原則は次のとおりです。
2. データ トリガーの使用法
データ トリガー手法は、
3. MySQL データ トリガーの例
データ トリガーの使用法をより明確に説明するために、MySQL データ トリガーの例をいくつか以下に示します。
特定のテーブルにデータを挿入または更新する場合、トリガーを使用してデータの整合性をチェックし、条件を満たすデータのみを確実にチェックできます。指定した条件でデータの挿入や更新が可能です。
たとえば、次のトリガーは、Product テーブルの価格が正であるかどうかをチェックし、価格が負の場合はデータの挿入または更新を防ぎます。
CREATE TRIGGER check_price BEFORE INSERT ON Product FOR EACH ROW IF NEW.price < 0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Price should be positive'; END IF;
トリガーを使用して、関連するビジネス ロジックを自動的に処理できます。
たとえば、次のトリガーは、データが Order テーブルに挿入されるときに、在庫の可用性を確保するために自動的に在庫を削減します。
CREATE TRIGGER update_stock AFTER INSERT ON Order FOR EACH ROW UPDATE Product SET stock = stock - NEW.quantity WHERE id = NEW.product_id;
トリガーを使用して、暗号化、復号化、データ バックアップなどのセキュリティ対策を有効にすることができます。
たとえば、次のトリガーは、データが Product テーブルに挿入または更新されるときに、価格を特定のフィールド Price_Encrypt に自動的に暗号化して保存します。
CREATE TRIGGER encrypt_price BEFORE INSERT OR UPDATE ON Product FOR EACH ROW SET NEW.Price_Encrypt = AES_ENCRYPT(NEW.price,'secret_key');
データの変更はトリガーを使用して記録し、その後の監査と追跡のために別のログまたは監査テーブルに保存できます。
たとえば、次のトリガーは、Customer テーブルでデータを挿入、更新、または削除するときに、Customer_Log テーブルのデータ変更を記録します。
CREATE TRIGGER log_customer_change AFTER INSERT ON Customer FOR EACH ROW INSERT INTO Customer_Log (id, action, changed_by) VALUES (NEW.id, 'Inserted', 'User'); CREATE TRIGGER log_customer_change AFTER UPDATE ON Customer FOR EACH ROW INSERT INTO Customer_Log (id, action, changed_by) VALUES (NEW.id, 'Updated', 'User'); CREATE TRIGGER log_customer_change AFTER DELETE ON Customer FOR EACH ROW INSERT INTO Customer_Log (id, action, changed_by) VALUES (OLD.id, 'Deleted', 'User');
4. 概要
データ トリガー技術は MySQL の強力な機能の 1 つであり、ユーザーが特定のシナリオでデータ変更を迅速かつ効率的に処理するのに役立ちます。この記事では、MySQL のデータ トリガーの基本原理、使用法、例を紹介し、読者の役に立つことを願っています。
以上がMySQL でのデータトリガースキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。