Re: table inheritance and foreign key troubles

Поиск
Список
Период
Сортировка
От Christof Glaser
Тема Re: table inheritance and foreign key troubles
Дата
Msg-id 20010911091250.B8DD213061@pinguin.gl.aser.de
обсуждение исходный текст
Ответ на table inheritance and foreign key troubles  (Kevin Way <kevin.way@overtone.org>)
Ответы Re: table inheritance and foreign key troubles  (Christof Glaser <gcg@gl.aser.de>)
Re: table inheritance and foreign key troubles  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-sql
On Tuesday, 11. September 2001 10:04, Kevin Way wrote:
> I'm having a little trouble with some inherited tables and a foreign
> key.  Here's a simplified case, to show the trouble.
>
> CREATE TABLE node (
>     node_id     SERIAL NOT NULL,
>     name        TEXT NOT NULL,
>     PRIMARY KEY (node_id)
> );
> -- works just fine
>
> CREATE TABLE users (
>     email       TEXT NOT NULL
> ) INHERITS (node);
> -- so far so good....
>
> CREATE TABLE item (
>     reason      TEXT NOT NULL,
>     author_id   INT NOT NULL REFERENCES users (node_id)
> ) INHERITS (node);
> ERROR:  UNIQUE constraint matching given keys for referenced table
> "users" not found

That means, there is no UNIQUE constraing on users.node_id ;-)
Since users inherits that field from node, just make node.node_id 
unique, or even a primary key.

> Does this operation just require differing syntax, because the
> referenced field is inherited from another table, or is this not
> possible?

In previous versions of Postgres it was possible to reference non-unique 
fields. With 7.1.x this is, correctly, no longer possible. Inheritance 
doesn't have anything do to with it in your case, though.

Hope that helps,

Christof
--   gl.aser . software engineering . internet service      http://gl.aser.de/ . Planckstraße 7 . D-39104 Magdeburg


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

Предыдущее
От: Miguel González
Дата:
Сообщение: SQL Query
Следующее
От: Christof Glaser
Дата:
Сообщение: Re: table inheritance and foreign key troubles