From: | Jerome Alet <alet(at)librelogiciel(dot)com> |
---|---|
To: | Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: not sure about constraints |
Date: | 2005-09-02 14:26:57 |
Message-ID: | 20050902142657.GE10284@mail.librelogiciel.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Fri, Sep 02, 2005 at 04:43:15PM +0300, Achilleus Mantzios wrote:
> O Jerome Alet ?????? ???? Sep 2, 2005 :
>
> > I've got 4 tables :
> >
> > CREATE TABLE tableA (id SERIAL PRIMARY KEY NOT NULL,
> > blahA TEXT);
> >
> > CREATE TABLE tableB (id SERIAL PRIMARY KEY NOT NULL,
> > blahB TEXT);
> >
> > CREATE TABLE tableC (id SERIAL PRIMARY KEY NOT NULL,
> > ida INT4 REFERENCES tableA(id),
> > idb INT4 REFERENCES tableB(id),
> > blahC TEXT);
> >
> > CREATE TABLE tableD
> > (id SERIAL PRIMARY KEY NOT NULL,
> > ida INT4,
> > idb INT4,
> > blahC TEXT,
> > CONSTRAINT checkAB FOREIGN KEY (ida, idb) REFERENCES tableC(ida, idb));
>
> The above statement is in error.
> In order to create FK to another table (tableC), you must do this
> on tableC's PK (id) or some UNIQUE key in general.
sorry, while adapting the code for the purpose of posting here,
I've forgotten that I've this line in my real script :
CREATE UNIQUE INDEX tableCindex ON tableC (ida, idb);
So I think tableD should be OK (BTW I don't have any error)
Thanks for your help
bye
Jerome Alet
From | Date | Subject | |
---|---|---|---|
Next Message | Joÿffffffffffe3o Carvalho | 2005-09-02 17:21:41 | Turn off auto-commit |
Previous Message | Achilleus Mantzios | 2005-09-02 13:43:15 | Re: not sure about constraints |