2014-06-21 7 views
1

부모 테이블이 FAMILY_MEMBER인데 각각은 unique ID ID입니다.MySQL : CHILDREN 행 삭제시 부모 삭제

는 또한 mother_id, father_iddaughter_id하는 FAMILY_MEMBER 행 각을 가리키는으로 FAMILY 테이블이 있습니다.

FAMILY 행을 삭제할 때 DB가 자동으로 3 FAMILY_MEMBER 상위 행을 삭제하고 싶습니다. 이것은 ON DELETEON UPDATE 절이 의도 한 것과 정확히 정반대 인 것 같습니다.

+0

트리거 당신을 도울 수 있습니다. – Barranka

답변

0
create trigger t1 
    after delete on FAMILY 
     for each row 
      BEGIN 
      delete from family_member 
       where id = old.mother_id; 
      delete from family_member 
       where id = old.fa=ther_id; 
      delete from family_member 
       where id = old.daughter_id; 
      END 

또는이 하나 (당신은 트리거 및 테이블의 이름을 구분 기호를 사용할 수 있습니다) :

create trigger `t1` 
    after delete on `FAMILY` 
     for each row 
      BEGIN 
      delete from family_member 
       where id = old.mother_id; 
      delete from family_member 
       where id = old.fa=ther_id; 
      delete from family_member 
       where id = old.daughter_id; 
      END