다른 테이블의 삽입을 기반으로 조건부로 새 행을 삽입하는 트리거를 만들려고합니다 ... 구문을 못쓰게 할 수 없습니다. 내가 잘못 갈 수있는 위치 모르겠어요,mysql 트리거가 작동하지 않습니까?
내가 오류가 계속 어떤 이유DELIMETER $$
CREATE TRIGGER overPricedCar
AFTER INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000')THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
END IF;
END$$
DELIMETER ;
는, 그들은 구문 확인 될 것으로 보인다 : 여기 내가 지금까지 가지고있는 것입니다.
EDIT
는 오식을 교정 한 후, 트리거 '작동'.
트리거가 발생할 때 출력 할 설명을 추가했습니다. 나는 그것을 테스트 한, 출력 메시지가 화면에 출력됩니다하지만 트리거 실제로 삽입 완료되지 않은 : 나는 때 트리거가 실행 화면에 인쇄 할 메시지를 배치 할 수 있습니다
DELIMITER $$
CREATE TRIGGER overPricedCar
BEFORE INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000')THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "New Gold car!"; // this line throws it off
END IF;
END$$
DELIMITER ;
을 ?
에러가 ?? – jcho360
@ jcho360 # 1064 - SQL 구문에 오류가 있습니다. 'DELIMETER $$ 근처에서 사용할 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. CREATE TRIGGER overPricedCar 자동차에 삽입 한 후 각 행에 대해 B'on line 1 – shnozolla
무엇이 오류입니까? –