我使用嵌套集来表示mysql中的树,如下所示:
Tree
ID
title
lft
rgt
给定树中节点的ID,更新该节点以及所有它的祖先的最简单/最好的方法是什么?
例如,假设节点ID(36)在树中的深度为4级。我想更新它的标题,以及每个父节点的标题,一直到根,到“fish”这个词。 (总共应该有四个更新。)
感谢您的帮助!
答案 0 :(得分: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';