개발자

primary key 중복 데이터를 어떻게 처리하는게 좋을까요?

2023년 05월 21일조회 172

안녕하세요, 양이 많은 자료를 for 반복문으로 정리해서 테이블에 넣으려고 합니다. 그런데 이 테이블의 컬럼이 프라이머리키라서 중복값이 들어가면 에러가 떠요 ㅠㅠ 그래서 중복을 제거하려고 하는데 제거할 때 두 개 컬럼을 합쳐서 primary key로 지정하는 게 좋을지 아니면 코드로 중복체크 하는 게 좋을지 고민이 됩니다.. 사실 fetchall로 데이터 가져온 다음에 중복값이 있으면 continue 처리해도 되긴 하는데, 제가 원하는 방향이 for 반복문 안에서 sqlite 에러를 가져와서 continue 처리하는 것이라서요!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

김재성님의 프로필 사진

프라이머리 키가 중복되는 두 아이템이 모두 테이블에 추가되어야 하나요? 그렇다면 프라이머리 키 정의를 수정해야 될 거 같아요 (예를 들어 연락처 데이터베이스라고 가정하면 이름이 프라이머리 키였을 경우, 전화번호로 변경한다거나 혹은 이름에 다른 필드까지 더해서 프라이머리 키로 새로 정의하거나) 아니라면 프라이머리 키가 중복되는 아이템을 DB 쿼리 전에 제거 후에 남은 아이템만 저장하도록 쿼리하면 어떨까요? (다만 여기서 중복 되는 여러 아이템 중 어느 것을 선택해서 남겨야 하는지 정해야 합니다)

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!