【发布时间】:2009-08-13 10:11:48
【问题描述】:
我使用嵌套集模型将hierarchical data 保存到数据库表中,我感兴趣的是 MySQL 是否具有对添加/删除节点的内置支持,或者我必须从头开始编写存储过程。 谢谢。
【问题讨论】:
我使用嵌套集模型将hierarchical data 保存到数据库表中,我感兴趣的是 MySQL 是否具有对添加/删除节点的内置支持,或者我必须从头开始编写存储过程。 谢谢。
【问题讨论】:
据我所知,MySQL 没有内置函数来执行此操作。您可能必须实施自己的解决方案。
我已经使用存储过程实现了嵌套集,并且效果很好。我相信 Nested intervals 在嵌套集原则上已经有了进一步的工作,以解决插入或删除节点时需要大量更新的问题——但这也有其自身的一系列问题。
【讨论】:
正如@teabot 所说,MySQL 没有提供任何内置功能来执行此操作。但是,存在许多资源可以为您提供所需查询的一半以上的起点,因此您必须完全自己动手。
例如,请参阅 Working with Graphs in MySQL 、MySQL docs 甚至可能是 Joe Celko's book。根据您的具体用例,您可能还会发现有人为您完成了这项工作(请参阅django-mptt 实现)。
【讨论】: