2014-06-21 83 views
1

比方说,我有一个父表:FAMILY_MEMBER,每个父表有一个unique ID id。MySQL:当儿童行删除时删除父母

我也有mother_idfather_iddaughter_id,每个指向一个FAMILY_MEMBERFAMILY表。

当我删除FAMILY行时,我希望数据库自动删除父行的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