php - Multiple fields cascade mysql -
i have problem:
i have table "likes" structured this:
-- likeid -- elementid -- elementtype the rest of table not important. let me explain table: likeid id of inserted like. elementid id of element being liked. elementid not unique, because elements can have different elementtypes , therefore ther field elementtype.
so let's this:
i element 1 of elementtype 0. (likeid, elementid, elementtype) values (1,1,0) mysql insert. element 1 of elementtype 1. be(likeid, elementid, elementtype) values (1,1,1)
now have 2 tables: table elementtype 0 , table elementtype 1. structured this:
-- thiselementid -- blabla other fields not important and
-- otherelementid -- blabla other fields not important what want on delete cascade. when delete element 1 of elementtype 0 part of thiselementid-table, should delete it. problem is, element 1 of elementtype 1 has same id value (otherelementid).
how can manage work? hope understand mean! :)
create triggers each table:
delimiter // create trigger extra0_del after delete on extra0 each row begin delete likes elementid = old.thiselementid , elementtype = 0; end; // create trigger extra1_del after delete on extra1 each row begin delete likes elementid = old.otherelementid , elementtype = 1; end; // delimiter ; replace extra0 , extra1 names of tables.
Comments
Post a Comment