help with referential integrity

Started by Soma Interestingover 25 years ago1 messagesgeneral
Jump to latest
#1Soma Interesting
dfunct@telus.net

Date: Mon, 11 Dec 2000 18:43:55 -0800
To: pgsql-general@postgresql.org
From: Soma Interesting <dfunct@telus.net>
Subject: help with referential integrity

I'm attempting, for the first time, to make use of referential integrity,
but I'm getting an error.

Warning: PostgreSQL query failed: ERROR: referential integrity violation -
key referenced from LessonsPages not found in Lessons

Here is the table's structures:

CREATE SEQUENCE "LessonsPages_id_seq";
CREATE TABLE "LessonsPages" (
"id" int4 DEFAULT nextval('"LessonsPages_id_seq"') NOT NULL,
"lid" int4 NOT NULL
REFERENCES "Pages"
ON DELETE CASCADE,
"pid" int4 NOT NULL
REFERENCES "Lessons"
ON DELETE CASCADE,
PRIMARY KEY ("lid", "pid")
);

CREATE SEQUENCE "Lessons_id_seq";
CREATE TABLE "Lessons" (
"id" int4 nextval('"Lessons_id_seq"') NOT NULL,
"page_name" char(64),
"summary_email" bool,
"order_num" int2,
PRIMARY KEY ("id")
);

CREATE SEQUENCE "Pages_id_seq";
CREATE TABLE "Pages" (
"id" int4 nextval('"Pages_id_seq"') NOT NULL,
"page_name" char(64),
"summary_email" bool,
"order_num" int2,
PRIMARY KEY ("id")
);

The error comes when:

INSERT INTO "Pages" (order_num) VALUES (1);
SELECT id FROM "Pages";
| id |
16
1 Row

INSERT INTO "Lessons" (lesson_name, order_num) VALUES ('test lesson', 2);
SELECT id FROM "Lessons";
| id |
9
1 Row

INSERT INTO "LessonsPages" (lid,pid) VALUES (9,16);

What am I doing wrong?

- - - - - - -
- - - - -
WARNING: Some experts believe that use of any keyboard may cause serious
injury.
Consult Users Guide.
dfunct@telus.net