다른 테이블의 열을 업데이트하기 위해 트리거를 삽입한 후의 MySQL
이 쿼리는 BookingRequest 테이블의 열을 업데이트하는 MySQL의 트리거를 생성하려고 시도합니다. OccupiedRoom 테이블에 행이 삽입될 때. 그러나 제공된 트리거가 의도한 대로 작동하지 않습니다.
이 문제를 해결하려면 다음과 같은 수정된 버전의 트리거를 사용하세요.
DELIMITER $$
CREATE TRIGGER 점유_trig
AFTER 각각에 대해 OccupiedRoom에 삽입 행
시작
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;
끝;
$$ 구분 기호 ; **트리거 세부정보:** * 트리거는 'AFTER INSERT' 절을 사용하여 정의됩니다. 즉, 'OccupiedRoom' 테이블에 행이 삽입된 후에 실행된다는 의미입니다. * 트리거는 'FOR EACH ROW' 절을 사용하여 삽입된 각 행을 개별적으로 처리합니다. * 트리거 본체 내부: * 삽입된 `OccupiedRoom` 행의 `idRequest`가 `BookingRequest` 테이블에 존재하는지 확인하기 위해 부울 변수 `@id_exists`를 선언합니다. * 새로 삽입된 'OccupiedRoom' 행의 'idRequest'가 존재하는지 확인하기 위해 'BookingRequest' 테이블을 확인합니다. 그렇다면 `@id_exists`를 `1`로 설정합니다. * `@id_exists`가 `1`인 경우 `BookingRequest` 테이블의 `status` 열을 '1'로 업데이트합니다. 여기서 `idRequest`는 `OccupiedRoom` 테이블의 새 `idRequest`와 일치합니다.
위 내용은 삽입 후 트리거를 사용하여 MySQL에서 테이블 열을 올바르게 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!