2014-10-20 2 views
0

그래서 내가 2 테이블을 가지고 하나의 테이블에서 행을 삭제하면 다른 테이블에서 동일한 'item_id'와 다른 행을 삭제해야하지만 하나를 삭제하면 다른 것을 삭제하지 않는 것처럼 보이지만 잘못된 트리거입니다. ?이 트리거를 잘못 삭제하고 있습니까?

DELIMITER $ 
CREATE TRIGGER del_CD 
AFTER DELETE on Music_CD 
FOR EACH ROW 
BEGIN 
DELETE FROM Item 
    WHERE Item.item_id = Music_CD.item_id; 
END $ 
DELIMITER; 

답변

1

WHERE Item.item_id = OLD.item_id; 

WHERE Item.item_id = Music_CD.item_id; 

를 교체 그리고 BTW 당신은 ​​마지막 줄에

DELIMITER ; 
+0

덕분에 공간을 누락! 쉼표는 어디에 있습니까? 당신이 넣은 것은 모두 'DELIMITER'였습니다. 그래서 나는 약간 혼란스러워. 또한 'NEW'를 입력하면 "DELETE 트리거에 NEW 행이 없습니다"라는 오류 메시지가 나타납니다. – user2318083

+1

죄송합니다. 답변을 업데이트했습니다. 그것은'OLD'이며 쉼표가 아니라 공백입니다. –

+0

Gotcha, 지금처럼 작동합니다. 고맙습니다! – user2318083

관련 문제