0
데이터베이스의 오퍼 및 요청과 일치하는 트리거를 올바르게 시도하고 일치하는 경우 데이터를 다른 테이블에 추가하려고합니다. 이것은 나를 위해 꽤 복잡 해지고 누군가가 올바른 방향으로 나를 가리킬 수 있습니다.두 테이블의 데이터를 확인한 다음 다른 테이블에 추가하는 MySQL 트리거
CREATE TRIGGER rideMatch
AFTER INSERT ON rideRequest
FOR EACH ROW
BEGIN
IF EXISTS(
SELECT * from rideOffer r
where r.time = new.time AND
r.date = new.date AND
r.pickUpLocation = new.pickUpLocation AND
r.dropOffLocation = new.dropOffLocation
)
THEN
INSERT INTO Ride(rideDate, pickUpTime, pickUpLocation, dropOffLocation, driver, carName)
VALUES(new.date, new.time, new.pickUpLocation, new.dropOffLocation, r.driver, r.carName);
END IF;
적어도 'END' 키워드가 누락되었습니다. 그러나 이것은 단일 명령문 트리거이기 때문에'BEGIN' 키워드 만 제거하면됩니다. –
이 쿼리의 문제점은 무엇입니까? –
나는 더 분명해야했습니다. 또한 원본 테이블에서 항목이 삭제되면 삭제하려고합니다. 또한 나에게 끝에 약간의 구문 에러를 주었고 마지막 insert 문에서 r 테이블을 참조 할 수 있는지 잘 모르겠습니다. –