Имам родителска таблица, която има дузина дъщерни таблици, които я препращат. Тези дъщерни таблици на свой ред имат други дъщерни таблици, които ги препращат. И така нататък.
Трябва да изтрия ред от основната родителска таблица, като го каскадирам докрай.
Премахването/пресъздаването на ограничения навсякъде, за да бъдат НА КАСКАДНО ИЗТРИВАНЕ не е опция
Преминаването през всички тях и ръчното изтриване на дъщерни редове е кошмар.
Някакви други опции?
DELETE FROM (SELECT pid, cid, gid FROM myparent JOIN mychild USING (pid) JOIN mygrandchild USING (cid)) WHERE pid=xxx
? Това може би е най-безболезненият начин за изтриване на редовете. Мога да обясня, ако искаш... - person wolφi   schedule 14.12.2012