これが私のテーブルの最小バージョンです:
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 の変更を避けたいのですが、おそらくそれが唯一の方法です。
前もって感謝します。