Re: circular REFERENCES
От | Gregory Seidman |
---|---|
Тема | Re: circular REFERENCES |
Дата | |
Msg-id | 20020618222814.GA21495@cs.brown.edu обсуждение исходный текст |
Ответ на | Re: circular REFERENCES (Stephan Szabo <sszabo@megazone23.bigpanda.com>) |
Список | pgsql-general |
Stephan Szabo sez: } On Tue, 18 Jun 2002, Gregory Seidman wrote: } } > I would like to define two tables: } > } > CREATE TABLE Person ( } > id SERIAL not null, } > -- ... } > team_membership integer default null REFERENCES Team(id), } > primary key (id) } > ); } > CREATE TABLE Person ( } > id SERIAL not null, } > -- ... } > captain integer not null REFERENCES Person(id), } > primary key (uid) } > ); } > } > Of course, I can't define them that way. Is there any better way to take } > care of this than to leave out the REFERENCES in the first table and add it } > with ALTER TABLE ADD CONTRAINT after the second table has been defined? } } I assume you meant Team on the second create table. Pretty much you will } need to use alter table to add one of them. In addition, are you sure } you want those to be immediately checked? Generally when you have a } recursive structure like that one or both of the constraints is deferred. Yep, the second table was supposed to be Team. And I do want them both to be immediately checked. Users will be added with a NULL team, and will be able to join a team. --Greg
В списке pgsql-general по дате отправления: