Problem mit Foreign Keys (und vererbten Tabellen?)

From: Robert Müller <muellerrobert(at)gmail(dot)com>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Problem mit Foreign Keys (und vererbten Tabellen?)
Date: 2006-03-07 12:59:58
Message-ID: 9794185d0603070459i4723c17et@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo!
Ich habe ein Problem mit den Foreign Keys in folgender Tabellenkonstellation:

SET SEARCH_PATH TO test;

-- Struktur
CREATE SEQUENCE object_obj_id_seq;

CREATE TABLE object
(
obj_id int4 NOT NULL DEFAULT nextval('object_obj_id_seq'::text),
CONSTRAINT object_pkey
PRIMARY KEY (obj_id)
);

CREATE TABLE obj_obj_rel
(
parent_id int4 NOT NULL,
child_id int4 NOT NULL,
CONSTRAINT obj_obj_rel_pkey
PRIMARY KEY (parent_id, child_id),
CONSTRAINT fk_child_id_exists_in_object
FOREIGN KEY (child_id) REFERENCES object (obj_id)
ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT fk_parent_id_exists_in_object
FOREIGN KEY (parent_id) REFERENCES object (obj_id)
ON UPDATE CASCADE ON DELETE CASCADE
);

CREATE TABLE person
(
last_name varchar(40) NOT NULL DEFAULT ''
) INHERITS (object);

CREATE TABLE contactperson
(
position varchar(40) NOT NULL DEFAULT ''
) INHERITS (object);

-- Daten
INSERT INTO person(last_name) values('Müller');
INSERT INTO contactperson(position) values('Sklave');

Wenn ich jetzt ein

insert into obj_obj_rel(parent_id, child_id) values (2,1);

machen will bekomme ich folgenden Fehler:

FEHLER: Einfügen oder Aktualisieren in Tabelle »obj_obj_rel« verletzt
Fremdschlüssel-Constraint »fk_child_id_exists_in_object«
DETAIL: Schlüssel (child_id)=(1) ist nicht in Tabelle »object« vorhanden.

Für mich ist doch aber der Schlüssel 1 sehr wohl in object vorhanden:
select * from object where obj_id = 1;
ergibt die gesuchte zeile;

Was also habe ich falsch gemacht bzw wo ist mein Denkfehler?

Mit freundlichen Gruessen
Robert

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Daniel Seichter 2006-03-07 15:26:03 Sequenz mit Ausnahmen
Previous Message Peter Eisentraut 2006-03-07 09:19:55 FFIS e.V.