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 ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings