ホームページ >データベース >mysql チュートリアル >挿入操作に基づいて別のテーブルの列を更新するトリガーを作成する方法は?
別のテーブルの列を更新するトリガー
データベースには、3つのテーブルがあります。同じIDを持つリクエストが占有室のテーブルに追加されるたびに、予約リクエストテーブルのステータス列を「1」に変更するトリガーを作成することをお勧めします。 🎜>ただし、失敗しました。機能するはずの変更されたバージョンです:
create trigger occupy_trig after insert on OccupiedRoom for each row begin if BookingRequest.idRequest= NEW.idRequest then update BookingRequest set status = '1'; where idRequest = NEW.idRequest; end if; END;説明:
DELIMITER $$ CREATE TRIGGER occupy_trig AFTER INSERT ON `OccupiedRoom` FOR EACH ROW begin DECLARE id_exists Boolean; -- Check BookingRequest table SELECT 1 INTO @id_exists FROM BookingRequest WHERE BookingRequest.idRequest= NEW.idRequest; IF @id_exists = 1 THEN UPDATE BookingRequest SET status = '1' WHERE idRequest = NEW.idRequest; END IF; END; $$ DELIMITER ;
トリガーは、占有室のテーブルの挿入操作の後に定義されます。
ローカル変数@id_existsが導入され、リクエストIDがBookingRequestに存在するかどうかを確認します表。以上が挿入操作に基づいて別のテーブルの列を更新するトリガーを作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。