[SQL] как удалить запись включая подчиненные?
Ты как-нибудь поконкретней сформулируй
DELETE FROM table WHERE ID=ParentID
Это ответ на твой вопрос
Но мне кажется ты не это спрашивал
Или ты не знаешь в каких табличках эти "подчиненные" находятся?
Самы простой пример Каталог с файлами в файловой системе.
Тебе нужно удалить корневую папку.. а вместе с ней все что внутри.. при этом там могут быть вложенные папки в неизвестном количестве.
воспользуйся Mysql control (графическая утила для редактирования)
у тебя эти поля в одной таблице ? они "реально" связанны через key , или просто так , "на глаз" , потому что ты решил что они связанны ?
Табличка такого вида
ID ID_PRNT бла-бла-бла
Под связью понимается только то что я догадываюсь... что над записью с ID_PRNT = 1 должна находиться записть с ID = 1. (по уровням вложенности)
Надо удалить запись с ID = 1 и все ей подчиненные (ID = 2 и ID = 3)
если нет, то чтонить типа такого:
delete from table_child where par_id=?;
delete from table_parent where id=?;
если эти столцбы реально связанна и целостность базой поддерживается - то по идее всё само должно удалится . хотя хз - не проверял . а по поводу как выдернуть всю ветку дерева одним запросом (сделать рекрусивный SQL запрос) - тут эта тема как то поднималась , и даже какие то были предложенны варианты , но на редкаость извратные и ограниченные . делай лучше на каком нибудь языке рекруссию ...............
Скорее всего эта задача на ручках.. умеет обычный BDE(IV) это делать? для обычного файлика лежащего на диске без какого либо сервера БД?
какое то решение предлагают ...........
Оставить комментарий
peter1dav
Как бы так удалить запись из таблички(включая все подчиненные если в самом простейшем варианте есть связь ID - ParentID?