Re: Recursive FOREIGN KEY?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Joe Stump <joe(at)joestump(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Recursive FOREIGN KEY?
Date: 2004-04-04 04:36:48
Message-ID: 20655.1081053408@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Joe Stump <joe(at)joestump(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joe Stump 2004-04-04 04:46:50 Re: Recursive FOREIGN KEY?
Previous Message Joe Stump 2004-04-04 04:35:02 Re: Recursive FOREIGN KEY?