c# – I got error The DELETE statement conflicted with the REFERENCE constraint

c# – I got error The DELETE statement conflicted with the REFERENCE constraint

The error means that you have data in other tables that references the data you are trying to delete.

You would need to either drop and recreate the constraints or delete the data that the Foreign Key references.

Suppose you have the following tables

dbo.Students
(
StudentId
StudentName
StudentTypeId
)


dbo.StudentTypes
(
StudentTypeId
StudentType
)

Suppose a Foreign Key constraint exists between the StudentTypeId column in StudentTypes and the StudentTypeId column in Students

If you try to delete all the data in StudentTypes an error will occur as the StudentTypeId column in Students reference the data in the StudentTypes table.

EDIT:

DELETE and TRUNCATE essentially do the same thing. The only difference is that TRUNCATE does not save the changes in to the Log file. Also you cant use a WHERE clause with TRUNCATE

AS to why you can run this in SSMS but not via your Application. I really cant see this happening. The FK constraint would still throw an error regardless of where the transaction originated from.

Have you considered applying ON DELETE CASCADE where relevant?

c# – I got error The DELETE statement conflicted with the REFERENCE constraint

You are trying to delete a row that is referenced by another row (possibly in another table).

You need to delete that row first (or at least re-set its foreign key to something else), otherwise you’d end up with a row that references a non-existing row. The database forbids that.

Leave a Reply

Your email address will not be published.