gpt4 book ai didi

MySQL更新嵌套集合的一个项目

转载 作者:行者123 更新时间:2023-11-29 00:54:11 25 4
gpt4 key购买 nike

我的数据库中有一个表,其中包含一组嵌套的项目,重要的列是 idparentparent 始终指向它嵌套在其中的行 ID。

当我删除一个项目时,它的直接子级开始指向一个不存在的父级,这是我想纠正的。

我已经尝试过这个查询来重置任何孤立项的父项:

UPDATE menu_item
SET parent = 0
WHERE parent NOT IN (
SELECT id FROM menu_item
);

但是,它给了我一个错误:“您不能在 FROM 子句中指定要更新的目标表‘menu_item’。”

解决这个问题的正确方法是什么?

最佳答案

UPDATE  mytable m
LEFT JOIN
mytable mm
ON mm.id = m.parent
SET m.parent = 0
WHERE mm.id IS NULL

关于MySQL更新嵌套集合的一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6900163/

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