Re: Recursive FOREIGN KEY? - Mailing list pgsql-general

From Tom Lane
Subject Re: Recursive FOREIGN KEY?
Date
Msg-id 20655.1081053408@sss.pgh.pa.us
Whole thread Raw
In response to Re: Recursive FOREIGN KEY?  (Joe Stump <joe@joestump.net>)
Responses Re: Recursive FOREIGN KEY?
List pgsql-general
Joe Stump <joe@joestump.net> writes:
> I had to insert the initial record and then add the foreign key
> restraint after inserting the initial record was created (0 being the
> first level of the category structure) -

Why?  It worked fine for me without any workaround ...

regression=# CREATE TABLE categories (
regression(#   categoryID integer PRIMARY KEY,
regression(#   parentID integer REFERENCES categories (categoryID) ON DELETE CASCADE,
regression(#   name text);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "categories_pkey" for table "categories"
CREATE TABLE
regression=# insert into categories values(0,0,'root');
INSERT 1349044 1
regression=# insert into categories values(1,2,'root');
ERROR:  insert or update on table "categories" violates foreign key constraint "$1"
DETAIL:  Key (parentid)=(2) is not present in table "categories".
regression=# insert into categories values(1,0,'root');
INSERT 1349046 1
regression=#

            regards, tom lane

pgsql-general by date:

Previous
From: Joe Stump
Date:
Subject: Re: Recursive FOREIGN KEY?
Next
From: Joe Stump
Date:
Subject: Re: Recursive FOREIGN KEY?