Re: [BUGS] Foreign Key woes -- 7.2 and ~7.3

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [BUGS] Foreign Key woes -- 7.2 and ~7.3
Дата
Msg-id 1735.1018999170@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Foreign Key woes -- 7.2 and ~7.3  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-hackers
Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> On Tue, 16 Apr 2002, Rod Taylor wrote:
>> You'll notice there isn't a primary key at all -- which shouldn't be
>> an issue as there is still the unique.

> If you're not specifying the columns in the references constraint, it
> means specifically referencing the primary key of the table.  If there
> is no primary key, it's an error ("If the <referenced table and columns>
> does not specify a <reference column list>, then the table descriptor
> of the referenced table shall include a unique constraint that specifies
> PRIMARY KEY.")

Not sure if Rod got the point here, but: you *can* reference a column
that's only UNIQUE and not PRIMARY KEY.  You just have to name it
explicitly, eg.

regression=# create table stuff2 (stuff_id int4 references stuff(stuff_id)
regression(# on update cascade on delete cascade);
NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
CREATE

This is all per-spec, AFAIK.

>> If thats the case, then unique indecies need to be blocked until there
>> is a primary key, or the first one should be automatically marked as
>> the primary key.

That would be contrary to spec, and I see no need for it...
        regards, tom lane


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

Предыдущее
От: Richard Tucker
Дата:
Сообщение: Re: Firebird 1.0 released
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: regexp character class locale awareness patch