2014-05-18 6 views
0
1 - Root - 20 

2 - child1 - 3 
4 - child2 - 5 
6 - child3 - 7 
8 - child4 - 9 

이것은 mysql의 중첩 세트 모델입니다.중첩 된 좌우 노드를 결정하는 방법을 설정합니다

내가 아이가있는 값이 lefter입니다 하단 참조로의는 _lft_rgt 왼쪽과 오른쪽 값

을 나타내는 필드가 있다고 가정 해 봅시다? 그래서 우리는 왼쪽에서 2 명, 오른쪽에서 2 명을 얻었습니다. 삽입하기 전에 자식 방향을 나타낼 수있는 direction과 같은 새로운 필드를 추가하지 않고이 작업을 수행 할 수 있습니까?

내가이 결정 할

는, 내가, 심지어 즉, 논리 무엇 nessesary 더 코드 난에 속하는 만 차일 쿼리를 만들 수있는 방법

을 알아낼 수 없습니다 _lft_rgt를 사용하여 부모에 비해 왼쪽?

감사합니다.

+0

일 당신이 코드가되면, 당신은 당신의 코드가 모든 문제와 새 질문을 시작합니다

추가 자원은 위키 피 디아 페이지입니다. 물론 큰 문제는 없을 것입니다! 좋은 NST 정보는 찾기가 어려울 수 있지만 잘 배우려면 귀중한 정보이므로 가까운 투표보다는 빠른 답변을주었습니다. –

답변

1

중첩 된 집합이 작동하는 방식을 이해해야합니다.

나는 모델의 다이어그램과 새로운 노드가 삽입되는 방법 (나머지는 좋은 정보 임)을 읽었을 것이다. http://falsinsoft.blogspot.com/2013/01/tree-in-sql-database-nested-set-model.html

모든 잎은 _rgt = _lft + 1입니다. 왼쪽 잎의 _lft는 min입니다 (_rft를 선택하십시오. _rgt = _lft + 1).

이 지식을 동일한 페이지의 노드 쿼리 경로와 결합하면 필요한 정보를 얻게 될 것입니다. 필자가 제공 한 내용을 통해

http://en.wikipedia.org/wiki/Nested_set_model

+0

알았어, 더 배우려고 ... – Rustam