убить детей, а в конце родителя.
1.
Женек (14.05.2011 / 00:02)
Помогите засунуть все в 1 запрос.
есть таблица категорий и таблица моделей.
В таблице моделей записи ссылаются на id категории.
При удалении категории нужно прибить всех детей в таблице моделей, а затем убить родителя в таблице категорий. Одним запросом. Связаны по ID
Что то ничего у меня не получается
2.
ramzes (14.05.2011 / 00:29)
двумя не судьба?
delete chld where mather_id = $id
delete mather where id = $id
3.
Дмитрий (14.05.2011 / 01:36)
2.
ramzes, только хотел сказать
З.Ы. Тему назвал - прямо как журналист программы Максимум
4.
Макс (14.05.2011 / 01:47)
3.
dima.london, Это он и есть
5.
Дмитрий (14.05.2011 / 01:49)
Попробуй что-то типа
DELETE FROM `children` WHERE `children_id`=`roditel_id` UNION ALL DELETE FROM `roditel` WHERE `roditel_id`=ID
6.
KOZZ (14.05.2011 / 05:21)
2.
ramzes, ну а допустим мне нужно удалить со всеми детьми?
допустим
вложения:
1/2/3
delete from `category` where `parent`='1'; // удаляем категорию 2
delete from `category` where `id`='1'; // удаляем саму категорию 1
а категория 3 останется нетронутой.
тут нужна рекурсия, только как это реализовывать я даже не знаю.
может что то с помощью array_walk_recursive, хз
7.
Женек (14.05.2011 / 12:46)
2.
ramzes,
dima.london, если я спрашиваю, значит не судьба, 100500 запросов гонять не есть хорошо.
Добавлено через 07:06 сек.
5.
dima.london, ERROR: syntax error at or near "UNION"
8.
Алексей (14.05.2011 / 13:15)
погугли на тему каскадное удаление
9.
ramzes (14.05.2011 / 13:34)
7.
Basters, 2 вроде как не 100500 ;)
вопрос о многих категориях не стоял.
Но опять же 2 запроса, только с IN('1', '2', '3')
10.
Ant0ha (14.05.2011 / 15:29)
InnoDB в помощь. Определяешь внешние ключи и связи (ON DELETE CASCADE), при удалении строки в родительской таблице, удалятся и все чилды, т.е. одним запросом.
http://scabbiaza.net/innodb.html
11.
Женек (14.05.2011 / 19:31)
Ant0ha (14 Мая 2011 / 15:29)
InnoDB в помощь. Определяешь внешние ключи и связи (ON DELETE CASCADE), при удалении строки в родительской таблице, удалятся и все чилды, т.е. одним запросом.
http://scabbiaza.net/innodb.html
Прости, забыл указать что база постгресовская)
URL:
https://visavi.net/topics/21513