我在我的數據庫中有一個表格,它包含一組嵌套項目,重要的列爲id
和parent
。 parent
始終指向它嵌套在其中的行ID。MySQL更新嵌套集的項目
當我刪除一個項目時,它的直接子項目開始指向一個不存在的父項,這是我想要糾正的。
我已經爲復位的任何孤立的項目父嘗試此查詢:
UPDATE menu_item
SET parent = 0
WHERE parent NOT IN (
SELECT id FROM menu_item
);
但是,它給了我一個錯誤:「您不能指定目標表‘MENU_ITEM’的更新在FROM條款。」
解決此問題的正確方法是什麼?
這不是一個嵌套集合,它的鄰接表。 – Quassnoi
實際上,我使用了一個嵌套集合,但是'left'和'right'列與我的問題無關。 – mingos
啊,好的。你的父母是否提及直系父母或終極祖先? – Quassnoi