0
我使用嵌套組表示MySQL中的樹,像這樣:更新嵌套集中的祖先?
Tree
ID
title
lft
rgt
鑑於該樹中的節點的ID,什麼是更新該節點的最簡單的/最佳途徑以及所有它的祖先是?
例如,假設節點ID(36)在樹中深4級。我想將它的標題,以及每個父節點的標題,一直到根,更新爲「魚」一詞。 (應該是所有四個更新。)
感謝您的幫助!
我使用嵌套組表示MySQL中的樹,像這樣:更新嵌套集中的祖先?
Tree
ID
title
lft
rgt
鑑於該樹中的節點的ID,什麼是更新該節點的最簡單的/最佳途徑以及所有它的祖先是?
例如,假設節點ID(36)在樹中深4級。我想將它的標題,以及每個父節點的標題,一直到根,更新爲「魚」一詞。 (應該是所有四個更新。)
感謝您的幫助!
我找到了一個答案,所以我在這裏發佈它,以防其他人遇到類似問題。
給定任意深度節點的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';
哪些字段,lft或rgt指向父級? – lexu 2010-05-28 04:38:13
是在操作之前已知的根(節點數)的路徑,還是它是可變的和未知的? – lexu 2010-05-28 04:39:20