다른 테이블의 열 업데이트 트리거
데이터베이스에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!