1 - Root - 20
2 - child1 - 3
4 - child2 - 5
6 - child3 - 7
8 - child4 - 9
这是mysql的嵌套集模型。
让我们说_lft
和_rgt
是指示左右值的字段
因为我看到值越低,lefter就是孩子?所以这里我们从左侧得到2个孩子,从右侧得到2个孩子,可以这样做而不添加像direction
这样的新字段,可以在插入之前指示孩子的方向吗?
我想仅使用_lft
和_rgt
确定这一点,我无法弄清楚逻辑是什么,即使是在单词中,也没有代码nessesary
如何仅查询属于左侧相对于父级的子项?
请提出任何建议,谢谢。
答案 0 :(得分:1)
我认为你真的需要努力了解嵌套集的工作原理。
我会读到这个模型的图表以及如何插入新节点(其余部分也是很好的信息)。 http://falsinsoft.blogspot.com/2013/01/tree-in-sql-database-nested-set-model.html
请注意,所有叶子都是_rgt = _lft + 1.最左边叶子的_lft是min(选择_lft ....其中_rgt = _lft + 1)。
将这些知识与同一页面上的节点查询路径相结合,我认为您已经拥有了所需的知识。
另一个资源是维基百科页面: