From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Laurette Cisneros <laurette(at)nextbus(dot)com> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: foreign key problem |
Date: | 2002-10-08 00:21:31 |
Message-ID: | 20021007171922.N82652-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Mon, 7 Oct 2002, Laurette Cisneros wrote:
>
> I have two tables:
>
> create table table1
> ( vers integer,
> table1_id text NOT NULL,
> desc text,
> PRIMARY KEY (rev, table1)id)
> );
>
> create table table2
> ( vers integer,
> othertble_id text NOT NULL,
> table1_id text,
> FOREIGN KEY (rev, othertable_id) REFERENCES othertable
> ON UPDATE CASCADE ON DELETE CASCADE,
> FOREIGN KEY (rev, table1_id) REFERENCES table1
> ON UPDATE CASCADE ON DELETE CASCADE,
> PRIMARY KEY (rev, othertable_id, table1_id)
> );
>
> As you can see, table2 has a foreign key reference to table1 and also
> includes on delete cascade (and on update cascade).
>
> There has been a lot of activity in this database on these tables in
> particular in the last several days and somehow we've ended up with rows in
> table2 that have table1_ids that do not exist in table1.
>
> How is this possible? I've tried to reproduce this, but haven't been able
> to yet. This has happened to use several times.
The only thing apart from bugs I can think of would be triggers or rules
that forced the implicit deletes to have another behavior. It'd be
helpful if you can get a representative sequence that reproduces it.
From | Date | Subject | |
---|---|---|---|
Next Message | gordoncl | 2002-10-08 02:14:10 | Probs "compiling" a function |
Previous Message | Laurette Cisneros | 2002-10-08 00:03:44 | foreign key problem |