From: | Christof Glaser <gcg(at)gl(dot)aser(dot)de> |
---|---|
To: | Kevin Way <kevin(dot)way(at)overtone(dot)org>, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: table inheritance and foreign key troubles |
Date: | 2001-09-11 09:12:49 |
Message-ID: | 20010911091250.B8DD213061@pinguin.gl.aser.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Christof Glaser | 2001-09-11 10:49:13 | Re: table inheritance and foreign key troubles |
Previous Message | Miguel González | 2001-09-11 08:41:42 | SQL Query |