Re: Foreign Key Problem

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Foreign Key Problem
Дата
Msg-id Pine.BSF.4.21.0106071532080.22947-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Foreign Key Problem  (Dennis Muhlestein <dennis@zserve.com>)
Список pgsql-general
On Thu, 7 Jun 2001, Dennis Muhlestein wrote:

> Is This s bug:
>
>
> create table A
> (
>         key varchar(20) not null primary key
> );
>
> create table B
> (
>         id serial not null primary key,
>         col1 varchar(20) not null,
>         col2 varchar(20) not null
> );
>
> alter table B create constraint fk_col1 foreign key ( col1 ) references A (
> key ) on delete cascade on update cascade;
>
> alter table B create constraint fk_col2 foreign key ( col2 ) references A (
> key ) on delete cascade on update cascade;
>
>
> SQL Creation and operation works fine.  In the case that one row in table B
> where col1 = col2, if I update A.key, I'll get a referential integrity
> violation??
>
> ie: ERROR: fk_col1 referential integrity violation - key referenced from B
> not found in A.
>
> Is there a way to make this type of constraint work with the update?
>
> If not, is there a way to create a constraint so that col1 != col2 is
> inforced?

I believe this is a bug.  I'm pretty sure that its an issue of the first
update seeing an invalid state.  What I'm working on now may make this
work (I'm doing some work to the triggers now -- checking that the state
change hasn't been undone by some later change between time of action
and time of check).

I'm not sure of a work around in the meantime.



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

Предыдущее
От: Arcady Genkin
Дата:
Сообщение: REPOST: redefining location of the socket file /tmp/.s.PGSQL.5432
Следующее
От: Phuong Ma
Дата:
Сообщение: WAL article