私のデータベースには、ネストされた項目の集合である重要な列がid
とparent
であるテーブルがあります。 parent
は、常にその内部でネストされている行IDを指します。MySQLはネストされたセットの項目を更新します
アイテムを削除すると、その直接の子供は、存在しない親を指し始めるので、修正したいものです。
私は任意の孤立した項目の親をリセットするために、このクエリを試してみました:
UPDATE menu_item
SET parent = 0
WHERE parent NOT IN (
SELECT id FROM menu_item
);
はしかし、それは私にエラーを与える:「あなたはFROMに更新のターゲット表 『MENU_ITEM』を指定することはできません句。"
これに取り組む正しい方法は何ですか?
それはそれは隣接リストだ、ネストされたセットではありません。 – Quassnoi
実際には、ネストされたセットを使用していますが、 'left'と' right'カラムは私の問題では関係ありません。 – mingos
ああ、OK。あなたの両親は親の親を参照していますか、究極の祖先ですか? – Quassnoi