0

我使用嵌套集来表示 mysql 中的一棵树,如下所示:

Tree
ID
title
lft
rgt

给定树中节点的 ID,更新该节点及其所有祖先的最简单/最佳方法是什么?

例如,假设节点 ID (36) 在树中的深度为 4 层。我想更新它的标题,以及每个父节点的标题,一直到根,到单词“fish”。(总共应该是四个更新。)

谢谢你的帮助!

4

1 回答 1

0

我找到了这个问题的答案,所以我把它贴在这里,以防其他人遇到类似的问题。

给定任意深度节点的 ID,这将更新该节点和该节点的所有祖先。

        UPDATE 

            Tree AS node,
            Tree AS parent

        SET parent.title = 'fish'

        WHERE 

            node.lft BETWEEN parent.lft AND parent.rgt
            AND node.ID = '$ID';
于 2010-05-28T11:48:12.820 回答