MySQL データベースのトリガーを作成および管理するにはどうすればよいですか?
MySQL データベースでは、トリガー (トリガー) は、指定されたデータベース操作が発生したときに自動的に実行される特別なストアド プロシージャです。トリガーを使用すると、データの挿入、更新、削除時の一連の操作の実行など、データベース テーブルに対していくつかの自動化された動作を定義できます。
この記事では、MySQL データベースでトリガーを作成および管理する方法を説明し、理解を深めるのに役立ついくつかのコード例を示します。
1. トリガーの作成
トリガーを作成する前に、デモ用のテーブルを作成する必要があります。次の列を持つ「users」という名前のテーブルがあると仮定します。
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT
);
トリガーを作成するには、「CREATE TRIGGER」ステートメントを使用し、トリガーの名前、トリガー時刻 (BEFORE または AFTER)、トリガーされるトリガーを指定する必要があります。データベース操作 (INSERT、UPDATE、または DELETE)。
以下は、データを挿入する前に「年齢」列をデフォルト値 = 18 に自動的に設定するトリガーを作成する例です:
DELIMITER //
CREATE TRIGGER before_insert_users
ユーザーに挿入する前
各行ごとに
BEGIN
SET NEW.age = 18;
END;
//
DELIMITER ;
2. トリガーの管理
トリガーの更新: 既存のトリガーを変更する必要がある場合は、「ALTER TRIGGER」ステートメントを使用できます。
以下は例です。データの挿入時に「年齢」列をデフォルト値 = 20 に設定するように、以前に作成したトリガーを変更します。
DELIMITER //
ALTER TRIGGER before_insert_users
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
SET NEW.age = 20;
END;
//
DELIMITER ;
トリガーの削除: トリガーが不要になった場合は、「DROP TRIGGER」ステートメントを使用して削除できます。
以前に作成したトリガーを削除する例は次のとおりです:
DROP TRIGGER before_insert_users;
トリガーを無効にする: トリガーしたくない場合があります。実行は、「DISABLE TRIGGER」ステートメントを使用して無効にできます。
以下は、以前に作成したトリガーを無効にする例です:
DISABLE TRIGGER before_insert_users;
トリガーを有効にするには、「ENABLE TRIGGER」ステートメントを使用できます。
3. トリガー コードの例
次は、データの挿入時に注文番号を自動的に生成するために、「orders」テーブルにトリガーを作成する例です。
##DELIMITER //CREATE TRIGGER before_insert_ordersBEFORE INSERT ONorders
For EACH ROW
BEGIN
SET NEW.order_no = CONCAT('ORD', LPAD( NEW.id, 5, '0'));
END;
//
以上がMySQL データベースのトリガーを作成および管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。