Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Рекурсивное удаление

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
haveFun
Отправлено: 04 Августа, 2015 - 17:28:04
Post Id



Гость


Покинул форум
Сообщений всего: 102
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Привет. Столкнулся с неординарной задачей.
Допустим есть сущность "А"
А: id(int)AI, name(varchar), parent_id(id)
1 aaa 0
2 bbb 1
3 ccc 1
4 ddd 2

и B: id(int)AI, name(varchar), a_id
1 zzz 1
2 xxx 2
3 yyy 4

суть такова:
1: нужно написать такой запрос, который бы удалял по параметру A.id саму запись, и записи B.a_id
2: и если можно, то еще и все А у которых A.parent_id соответствует входному A.id, и дальше по цепочке...

надеюсь понятно объяснил.
второй пункт в принципе можно повесить на рекурсию в пхп, а вот как бы одним запросом удалять записи из двух таблиц? может сджоинить как-то или на стадии проектирования что-то типа триггера написать... подскажите как правильно?
пс: я нуб)

(Отредактировано автором: 04 Августа, 2015 - 17:29:39)

 
 Top
MiksIr
Отправлено: 04 Августа, 2015 - 20:35:42
Post Id


Забанен


Покинул форум
Сообщений всего: 378
Дата рег-ции: Сент. 2014  


Помог: 10 раз(а)

[+]


Внешний ключ на себя с ON DELETE CASCADE, mysql это умеет.
Удаляете одно, а остальное все удаляет сама база.


-----
self-banned
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB