gpt4 book ai didi

sql - 嵌套集模型 : Inserting Node at the end of SubNodes

转载 作者:行者123 更新时间:2023-12-04 19:08:41 26 4
gpt4 key购买 nike

现有数据(名称、lft、rgt):

Root, 1, 4
Item1, 2, 3

看起来像:

- Root
--- Item1

如何在 Item1 下方插入一个新节点 (Item2)?我的系统当前逻辑遵循我在网上找到的大多数示例,但结果是 Item2 在 Item1 之上。

- Root
--- Item1
--- Item2

谢谢你的帮助。

最佳答案

将嵌套集模型视为 XML 文件,其中 lftrgt 是开始和结束标记所在的行:

1  <root>
2 <item1>
3 </item1>
4 </root>

要在 root 中插入一个新的子标签,您需要向下移动所有后续记录:

1  <root>
2 <item1>
3 </item1>
4 <item2>
5 </item2>
6 </root>

因此您需要计算 item2.lftitem2.rgt(即 item2.rgt + 1item1.rgt + 2,相应地),然后递增 all lftrgtall 大于 item1.rgt 的项目:

UPDATE  mytable
SET rgt = rgt + 2
WHERE rgt > item1.rgt

UPDATE mytable
SET lft = lft + 2
WHERE lft > item1.rgt

关于sql - 嵌套集模型 : Inserting Node at the end of SubNodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2177358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com