2017-02-08 1 views
0

를 MySQL로 CSV에서 중복 삽입을 방지합니다. 이 코드는 from stackoverflow어떻게 삽입을 방지하는 방법

+0

이 답변을 확인하십시오 : http://stackoverflow.com/questions/14028093/how-to-prevent-duplicate-records-from-my-table-insert-ignore-does-not-work-here –

+1

글쎄, 먼저 이메일이 있는지 확인하기 위해 데이터베이스를 확인한 다음 INSERT를 실행하지 마십시오. ** Simples ** – RiggsFolly

답변

0

당신은 이것을 할 수있는 몇 가지 방법이 있습니다.

  1. 삽입하기 전에 당신의 CSV를 청소 : (이메일에 인덱스를 추가, 테이블 정의에서 SELECT COUNT(*) WHERE email = $email
  2. 를 사용, 모든 삽입하기 전에 예를
  3. 에 대한 $csv[$row[$emailColId]] = $row를 UNIQUE로 설정 및 쿼리 처리) true/false 또는 throw 된 예외 반환

나에게 가장 좋은 방법은 3 번째 포인트입니다.

+0

오류 SQL 쿼리 : ALTER TABLE 'excel' ADD UNIQUE ('email'); MySQL은 다음과 같이 말했습니다 : 설명서 # 1062 - 키 '전자 메일'에 대한 중복 항목 'email' – Adaleni

+0

이것은 분명히 이미 테이블에 중복 된 전자 메일이 있음을 나타냅니다. '이메일 선택, COUNT (이메일)에서 그룹별로 Excel에서 메일 함 수 (이메일)> 1'을 선택하면 중복 된 데이터가 표시됩니다. – zenko

관련 문제