【发布时间】:2019-09-09 06:14:56
【问题描述】:
我有一个表,其自身具有简单的层次父子关系。我没有使用嵌套集,而是添加了一个 root_id 列,这样我就可以使用单个查询加载单个根的所有后代。
create table tree (
id serial primary key,
root_id int not null default id, -- error
parent_id int,
...
);
我想将该列设为not null,但新根的值将是根自己的主键值,在插入之前不可用。有什么方法可以将行的主键值用作root_id 列的默认值?
【问题讨论】: