Корневые родительские дочерние записи SQL-запроса

У нас есть вложенные папки с родительско-дочерними отношениями. Мы используем БД MySQL MyISAM. Данные хранятся в БД следующим образом.

Каждый раз, когда во вложенной структуре создается дочерняя папка, добавляется предыдущий идентификатор родителя. Я хочу получить RootFolderID папки, которая добавляется в иерархию, как указано в таблице ниже.

FoldID  ParentID |RootFolderID
-----------------|-------------------
1         0      | 0
2         1      | 1
3         2      | 1
4         3      | 1
5         4      | 1

Пожалуйста, дайте мне знать, как получить идентификатор корневой папки и заполнить его в столбце RootFolderID каждый раз после создания папки.

Спасибо.


person Blue Sky    schedule 08.06.2010    source источник
comment
Почему бы не получить FoldID с наименьшим значением и не заполнить его как RootFolderID для всех других FoldID?   -  person Susheel Javadi    schedule 08.06.2010


Ответы (1)


если вы знаете информацию о родительской папке, то корневая папка будет такой же, как у родителя. или, если у родителя нет корневой папки, то корневой папкой будет сама родительская папка.

person chris    schedule 08.06.2010
comment
У нас есть сотни основных папок и подпапок. Когда создается подпапка, нам нужно заполнить RootFolderID вновь созданной папки. - person Blue Sky; 08.06.2010
comment
да, я понимаю это. поскольку вы знаете, что такое родительская папка вновь созданной папки, вы можете получить корневую папку родительской папки. если он равен 0, то корневая папка вновь созданной папки является идентификатором родительской папки. если не 0, то корневая папка вновь созданной папки совпадает с корневой папкой родительской папки. - person chris; 08.06.2010
comment
Да, хотите знать, как получить корневую папку родительской папки только что созданной папки. Он должен пройти весь путь до корня, а затем получить идентификатор. Пожалуйста, дайте мне знать запрос. - person Blue Sky; 08.06.2010
comment
почему он должен зацикливаться на всем пути к корню? наверняка корневая папка вновь созданной папки будет такой же, как корневая папка родительской папки, в которой она создана? - person chris; 08.06.2010
comment
Что ж, оказывается, я такой же тупой, как следует из вопроса. Я много чем занимался, спасибо, посмотрю. - person Blue Sky; 08.06.2010
comment
не беспокойтесь, приятель, иногда вам просто нужен свежий взгляд на проблему :) - person chris; 08.06.2010