StackOverflow에 대해 비슷한 질문이 있지만 내 사례와 정확하게 일치하지 않습니다. 합성 고유 제한이있는 PostgreSQL 테이블에 대량 삽입하려고합니다. 어떤 제약없이 임시 테이블 (temptable
)을 생성하고 데이터에 가능한 중복 값을로드했습니다. 여태까지는 그런대로 잘됐다.PostgreSQL의 중복 키 오류 하위 쿼리가있는 INSERT
이제 고유 인덱스가있는 실제 테이블 (realtable
)으로 데이터를 전송하려고합니다.
INSERT INTO realtable
SELECT * FROM temptable WHERE NOT EXISTS (
SELECT 1 FROM realtable WHERE temptable.added_date = realtable.added_date
AND temptable.product_name = realtable.product_name
);
그러나, 나는 점점 오전 중복 키 오류 :
내 질문은ERROR: duplicate key value violates unique constraint "realtable_added_date_product_name_key"
SQL state: 23505
Detail: Key (added_date, product_name)=(20000103, TEST) already exists.
의이 절은이를 방지 존재합니다 WHERE 안이를 위해, 나는 서브 쿼리와 INSERT 문을 사용 사고? 어떻게 해결할 수 있습니까?