Insert or Update on Table Violates Foreign Key Constraint

Insert or Update on Table Violates Foreign Key Constraint

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?

0

3 Answers

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...)

1

Do you not have a record in table project with a pname of (in your example) 494?

The key relationship says no pname is allowed in the entity table unless it matches a pname in the project table.

0

I have obtained the same issue (InnerException = {"23503: insert or update on table "table-name" violates foreign key constraint "tabename""})

This issue may arise if the table have updated version than the entry side version . because there might be a possibility of adding of additional columns in that updated version table.

  • Check your entry properly.
  • Check the table(package version) for all available columns.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling
Author

James H. Sterling

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.