DBAtlas · 데이터베이스 운영 아틀라스

547: The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint

SQL Server

의미

문장이 FOREIGN KEY 또는 CHECK 제약 조건을 위반했다. 존재하지 않는 부모 행을 참조했거나, CHECK 규칙을 위반하는 값을 기록했거나, 아직 참조되고 있는 부모 행을 삭제하려 했다.

원인

FK: 삽입된 자식 행이 참조하는 부모 행이 존재하지 않음. DELETE/UPDATE: 삭제/변경하려는 부모 행에 종속된 자식 행이 있음. CHECK: 컬럼 값이 정의된 조건을 충족하지 않음.

해결 방법

부모 행을 먼저 삽입한 뒤 자식 행을 삽입한다. 삭제 시에는 종속 행을 먼저 제거하거나 적절한 경우 ON DELETE CASCADE를 정의한다. CHECK 위반은 값을 규칙에 맞춘다. 오류 텍스트의 제약 조건 이름으로 위반된 제약 조건을 식별한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목