觸發更新另一個表的欄位
在您的資料庫中,您有三個表:BookingRequest、status 和 OccupiedRoom。您希望建立一個觸發器,只要將具有相同 ID 的請求新增至 OccupiedRoom 表中,該觸發器就會將 BookingRequest 表中的狀態列變更為「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 ;
說明:
以上是如何建立觸發器以基於 INSERT 操作更新另一個表中的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!