0

次のように、ネストされたセットを使用して mysql のツリーを表しています。

Tree
ID
title
lft
rgt

ツリー内のノードの ID が与えられた場合、そのノードとそのすべての祖先を更新する最も簡単で最良の方法は何ですか?

たとえば、ノード ID (36) がツリーの 4 レベルの深さであるとします。そのタイトルと、すべての親ノードのタイトルを、ルートまでずっと「魚」という単語に更新したいと思います。(全部で 4 回の更新のはずです。)

ご協力いただきありがとうございます!

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 に答える