* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 32bit, Linux 64bit 등 | |
[cubrid_rel] 수행 결과 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요.
테이블에 데이터 가져오기 > xls 파일 선택 후 데이터 insert 작업 시
"Operation would have caused one or more unique constraint violations. INDEX pk_...(B+tree: ...) ON CLASS ..."와 같은 오류 메시지가 뜹니다.
해당 테이블은 자동 증가 설정한 컬럼이 없고 pk만 설정되어 있습니다.
일부 데이터는 입력이 되는데 일부 데이터는 실패가 뜨네요~
실패된 데이터 pk값으로 검색해도 0건 조회됩니다.
테이블 삭제 후 다시 데이터를 넣을수는 없는 상태이고...
혹시 해결책 알 수 있을까요?
1) PK 없는 임의의 테이블을 만들고, 임의의 테이블에 데이터 insert 해주세요.
2) 임의의 테이블에 PK로 선정되는 컬럼에 중복값을 찾아 보시면 됩니다.
데이터가 많으면 PK로 선정되는 컬럼을 인덱스로 만든 다음 아래의 쿼리문을 수행 하시면 중복되는 PK컬럼의 데이터를 발췌할 수 있을 겁니다.
( select pk컬럼, count(*) from 임의의 테이블 where 1 = 1 group by pk컬럼 having count(*) > 1 )
3) 중복되는 값을 제거하고, 임의의 테이블의 데이타를 실테이블에 넣어주시면 됩니다.