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

23505: unique_violation

PostgreSQL

의미

삽입 또는 갱신된 행이 UNIQUE 제약 조건 또는 PRIMARY KEY를 위반한다. 동일한 값이 이미 테이블에 존재한다.

원인

같은 고유 키로 다시 삽입, 고유 컬럼에 중복 데이터 입력, 수동 삽입으로 시퀀스 값이 뒤처짐, 또는 두 개의 동시 요청이 같은 키를 삽입.

해결 방법

오류 상세의 제약 조건 이름과 키 값이 어떤 행이 충돌하는지 보여 준다. 기존 행을 갱신하려면 INSERT ... ON CONFLICT (my_column) DO UPDATE 또는 DO NOTHING을 사용한다. 중복을 찾는다: SELECT my_column, COUNT(*) FROM my_table GROUP BY my_column HAVING COUNT(*) > 1. 시퀀스가 뒤처졌다면: SELECT setval('seq_name', (SELECT MAX(id) FROM my_table)).

DBAtlas에서 열기 →

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