2010-05-27 80 views
0

我使用嵌套組表示MySQL中的樹,像這樣:更新嵌套集中的祖先?

Tree 
ID 
title 
lft 
rgt 

鑑於該樹中的節點的ID,什麼是更新該節點的最簡單的/最佳途徑以及所有它的祖先是

例如,假設節點ID(36)在樹中深4級。我想將它的標題,以及每個父節點的標題,一直到根,更新爲「魚」一詞。 (應該是所有四個更新。)

感謝您的幫助!

+0

哪些字段,lft或rgt指向父級? – lexu 2010-05-28 04:38:13

+0

是在操作之前已知的根(節點數)的路徑,還是它是可變的和未知的? – lexu 2010-05-28 04:39:20

回答

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';