【发布时间】:2012-07-07 07:12:57
【问题描述】:
在嵌套集合模型中,我们有 LEFT 和 Right 列
第一次空表时,我需要在右列插入什么,如果我不知道我会有多少个孩子
左 1 - 永远
对吗? - 这里有什么价值??
如何使其动态化?不是静态的。
ps:使用php
【问题讨论】:
标签: php mysql database nested-sets
在嵌套集合模型中,我们有 LEFT 和 Right 列
第一次空表时,我需要在右列插入什么,如果我不知道我会有多少个孩子
左 1 - 永远
对吗? - 这里有什么价值??
如何使其动态化?不是静态的。
ps:使用php
【问题讨论】:
标签: php mysql database nested-sets
根据您的标签和标题,我假设您正在寻找一种适用于 MySQL 的解决方案。
是的,你是对的,除非你事先知道元素的数量,否则right 的值需要动态计算。您可以使用两种方法:
在这两种情况下,您都需要实现在插入新行时可能需要调整多行的 left 和 right 值,但在第二种情况下,您实际上只需要执行更新,如果您的猜测是错误的。所以第二种解决方案更复杂,但可以提供更好的性能。
请注意,在存储分层数据的四种常用方法中,嵌套集方法是最难执行插入和更新的方法。请参阅 Bill Karwin Models for Heirarchical Data 的幻灯片 69。
【讨论】: