これが私のテーブルの最小バージョンです:
CREATE TABLE posts (
id int unsigned PRIMARY KEY auto_increment,
root_id int unsigned,
parent_id int unsigned
);
データはツリー構造になっているため、parent_id
フィールドには自明なものが含まれ、root_id
フィールドにはルート投稿の ID、つまりツリーの最上位の投稿、ツリーの最も古い祖先が含まれます。
ここで、それ自体が新しいツリーのルートである新しい投稿を挿入すると、 はparent_id
親を持たないため null になりますが、 はroot_id
それ自体を参照する必要があります。id
に同じ値を挿入する方法はありroot_id
ますか? 挿入、新しい ID の取得、および 2 番目のクエリでのルート ID の変更を避けたいのですが、おそらくそれが唯一の方法です。
前もって感謝します。