Re: Foreign key

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Foreign key
Дата
Msg-id 20050327074720.GB46207@winnie.fuhr.org
обсуждение исходный текст
Ответ на Foreign key  (<ASAKALAL@bouyguestelecom.fr>)
Список pgsql-sql
On Fri, Mar 25, 2005 at 04:31:16PM +0100, ASAKALAL@bouyguestelecom.fr wrote:
>
> When i add table with foreign key in my database, this error return : <
> number of referencing and referenced colums for foreign key disagree>.

Apparently the referencing key (the foreign key specification) has
a different number of columns than the referenced key (the primary
key or other unique key in the referenced table).  Here's an example
that illustrates the problem:
 CREATE TABLE foo (     pk1  integer NOT NULL,     pk2  integer NOT NULL,     PRIMARY KEY (pk1, pk2)  -- 2-column
primarykey );  CREATE TABLE bar (     fk  integer NOT NULL REFERENCES foo  -- 1-column foreign key );  ERROR:  number
ofreferencing and referenced columns for foreign key disagree
 

In the above example we need a 2-column foreign key:
 CREATE TABLE bar (     fk1  integer NOT NULL,     fk2  integer NOT NULL,     FOREIGN KEY (fk1, fk2) REFERENCES foo );

Here's another example that references a 1-column unique key that
isn't a primary key:
 CREATE TABLE foo (     pk1  integer NOT NULL,     pk2  integer NOT NULL,     x    integer NOT NULL,     PRIMARY KEY
(pk1,pk2),     UNIQUE (x) );  CREATE TABLE bar (     fk  integer NOT NULL REFERENCES foo (x) );
 

If these examples don't help, then please post the table definitions
you're working with and explain what you'd like to do.

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Andrus Moor"
Дата:
Сообщение: select a list of schema names
Следующее
От: Tom Lane
Дата:
Сообщение: Re: How to make update statement to work