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

2627: Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object

SQL Server

의미

PRIMARY KEY 또는 UNIQUE 제약 조건으로 보호되는 컬럼에 이미 존재하는 값을 삽입 또는 갱신하려 했다. 중복 키는 허용되지 않는다.

원인

같은 고유 값을 두 번째로 삽입, 기존 값과 충돌하는 UPDATE, 고유성 검사 누락, 또는 두 개의 동시 요청이 같은 행을 생성.

해결 방법

삽입 전에 행의 존재 여부를 확인하거나 MERGE / IF NOT EXISTS를 사용한다. 멱등한 삽입에는 "INSERT ... WHERE NOT EXISTS" 패턴을 적용한다. 오류를 잡아 의미 있는 메시지를 반환한다. 중복 데이터가 실제로 필요하다면 제약 조건을 검토한다. 키 생성 시 충돌을 피하려면 IDENTITY 또는 SEQUENCE를 사용한다.

DBAtlas에서 열기 →

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