From: | "Robert James" <srobertjames(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Will a DELETE violate an FK? |
Date: | 2007-05-29 14:48:21 |
Message-ID: | e09785e00705290748h3b4ba7f1nf5f7e602e3c1db4a@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I'd like to be able to detect if a record has associations. I don't want to
actually delete it, just know if it could be deleted. (This is to build an
intelligent menu on a GUI)
On 5/29/07, Albe Laurenz <all(at)adv(dot)magwien(dot)gv(dot)at> wrote:
>
> > Is there anyway to know if a DELETE will violate an FK
> > without actually trying it?
>
> I don't know what you mean by 'without trying it', but does the
> following answer your question?
>
> CREATE TABLE a (id integer PRIMARY KEY);
> CREATE TABLE b (id integer PRIMARY KEY,
> a_id integer NOT NULL CONSTRAINT b_fkey REFERENCES a(id));
>
> INSERT INTO a (id) VALUES (1);
> INSERT INTO b (id, a_id) VALUES (42, 1);
>
> DELETE FROM a WHERE id=1;
> ERROR: update or delete on table "a" violates foreign key constraint
> "b_fkey" on table "b"
> DETAIL: Key (id)=(1) is still referenced from table "b".
>
> Yours,
> Laurenz Albe
>
From | Date | Subject | |
---|---|---|---|
Next Message | Robert James | 2007-05-29 14:49:49 | Languages and Functions |
Previous Message | Zdenek Kotala | 2007-05-29 14:14:34 | Re: Users specific to a Database |