I have two tables: entitytype and project. Here are the create table statements:
Create table project (
pname varchar(20) not null,
primary key(pname)
);
create table entitytype(
entityname varchar(20) not null,
toppos char(100),
leftpos char(100),
pname varchar(20) not null,
primary key(entityname),
foreign key(pname) references project(pname) on delete cascade on update cascade
);
When I try to insert any values into the entitytype table, I get the following error:
ERROR: insert or update on table "entitytype" violates foreign key constraint "entitytype_pname_fkey"
Detail: Key (pname)=(494) is not present in table "project".
Can anyone shed some light on what I am doing wrong?
The error message means you are attempting to add an entityType that does not have a corresponding Project entry. (I don’t know your domain or what you are trying to achieve, but that schema design looks wrong to me…)