как связать поля одной таблици?

Frutik

1024-й
как связать поля одной таблици?

есть таблица

CREATE TABLE "board" (
"id" serial ,
"parent" int4 NOT NULL,
"title" varchar(20) NOT NULL,
"author" varchar(100) DEFAULT 'anonymous',
"email" varchar(100) ,
"added" varchar(20) NOT NULL,
"source" text NOT NULL,
"ip" varchar(15) ,
"forwarded_ip" varchar(15) ,

CONSTRAINT "pk_board" PRIMARY KEY ("id")
);

как в ней указать что поле parent ссылается на поле id (не знаю правильно ли выразился - я имел ввиду что parent'ом может быть только корректный id из этой же таблицы)

для полей из двух таблиц я это делаю так:
alter table "board"
add constraint FK_board_REF_author key (author)
references author(id)
;

а как сделать для полей одной таблици?
 

Frutik

1024-й
дополнение (вкралась ошибка)%
для двух таблиц правильно так:

alter table "board"
add constraint FK_board_REF_author foreign key (author)
references author(id)
;
 

EkyT

Guest
parent int REFERENCES board (id) ON DELETE CASCADE ON UPDATE CASCADE,
 

Frutik

1024-й
дополнительный вопрос
а ничего не случится если парентом записи будет она же самая?
 

EkyT

Guest
как это? а главное зачем?
референс это связь значения из одного поля с соответствующим значением другого поля

референс на самоё себя бессмысленен.
а для самого главного айди парент null
 

Frutik

1024-й
вот это меня и интересовало
какой парент дать корню дерева
спасибо за совет
 
Сверху