|
|
|
| как сделать рекурсию, есть таблица в ней три колонки id, name, belong ( id - id, name - имя, belong - принадлежность к какомуто id )
как постороить дерево из этих данных ? | |
|
|
|
|
|
|
|
для: Alexx
(01.04.2006 в 23:08)
| | Допускается использование PHP? | |
|
|
|
|
|
|
|
для: cheops
(02.04.2006 в 12:38)
| | Да. В принцепе я сделал но почему то когда функция вызывается больше двух раз у меня виснит IE. Даже при первом вызове функции грузится очень долго | |
|
|
|
|
|
|
|
для: Alexx
(02.04.2006 в 14:07)
| | Вероятно где-то идёт зацикливание, не могли бы вы привести код? | |
|
|
|
|
|
|
|
для: cheops
(02.04.2006 в 12:38)
| | А вот у меня вопрос: можно ли это сделать буз участия php? | |
|
|
|
|
|
|
|
для: Loki
(03.04.2006 в 10:08)
| | Без дополнительных таблиц? Врядли.... | |
|
|
|
|
|
|
|
для: Loki
(03.04.2006 в 10:08)
| | Можно, если речь идёт об каскадном удалении и обновлении, но только на таблицах InnoDB, которые поддерживают полноценные внешние ключи. | |
|
|
|
|
|
|
|
для: cheops
(03.04.2006 в 13:58)
| | Ну меня больше интересуют различные древовидные структуры.
А можно привести пример рекурсивного запроса?
можно ли использовать InnoDB и MYISAM в пределах одного запроса?
Короче, хочется из базы получать готовое дерево: правильно отсортированное и с указанием уровня вложенности:) | |
|
|
|
|
|
|
|
для: Loki
(03.04.2006 в 14:19)
| | Ну такого к сожалению нет пока, я бы тоже с удовольствием воспользовался бы... а каскадное удаление и обновление скрыто от глаз пользователей - это обычный запрос, например удаляете вы из таблицы форума данную тему и автоматически удаляются все сообщения из другой таблицы (если между ними установлена связь первичный-ключ/вторичный ключ), или допустим меняете первичный ключ темы оператром update, а вторичные ключи сообщений также изменяются. Эта практика достаточно распространена в нормальных базах данных, где вторичный ключ - это не пустой звук, как в MySQL...
PS Кстати, могу ошибаться, но возможно деревья можно построить при помощи вложенных запросов... | |
|
|
|
|
|
|
|
для: cheops
(03.04.2006 в 15:20)
| | Но это только при фиксированном уровне вложенности. Верно?
Рекурсивно - не получится... | |
|
|
|
|
|
|
|
для: Loki
(03.04.2006 в 16:19)
| | Нет и я не слышал, чтобы в других СУБД это было реализовано... | |
|
|
|
|
автор: ujcnm (04.04.2006 в 15:37) |
|
|
для: Alexx
(01.04.2006 в 23:08)
| | Вот вещица.
Вопросы на oktogen@mail.ru | |
|
|
|
|
|
|
|
для: ujcnm
(04.04.2006 в 15:37)
| | версия СУБД 5.0.18, Хранимые процедуры, триггеры, временные таблицы etc... | |
|
|
|
|
|
|
|
для: ujcnm
(04.04.2006 в 15:37)
| | Мда... на php получается намного короче... | |
|
|
|