고유 인덱스가 있는 중복 항목 제거
주어진 시나리오에서는 열의 인덱스 구성이 잘못되어 중복 항목이 테이블에 실수로 삽입되었습니다. A, B, C, D. 중복 방지 목적에도 불구하고 생성된 인덱스가 고유 인덱스가 아닌 일반 인덱스였습니다.
쿼리 실행
인 경우 기존 인덱스를 일반 인덱스에서 고유 인덱스로 변경하거나 동일한 열에 대해 새 고유 인덱스를 추가하려고 하면 중복 레코드로 인해 쿼리가 실패합니다.
IGNORE를 사용한 대체 솔루션 옵션(5.7.4 이전)
ALTER TABLE 구문에서 IGNORE 옵션을 사용하면 중복 항목을 제거할 수 있습니다.
<code class="sql">ALTER IGNORE TABLE mytable ADD UNIQUE INDEX myindex (A, B, C, D);</code>
이렇게 하면 중복 행이 삭제되지만 중요한 점은 문서에 보관할 행이 지정되어 있지 않다는 점입니다.
MySQL 5.7.4 이상용 솔루션
5.7.4 이상 버전의 경우 무시 ALTER TABLE에서는 더 이상 지원되지 않습니다. 그러나 다음 접근 방식을 사용할 수 있습니다.
이 프로세스는 INSERT 작업 중에 중복 항목을 제거합니다.
위 내용은 다음은 질문 형식과 기사의 초점을 염두에 두고 몇 가지 제목 옵션입니다. **옵션 1(직접적이고 간결하게):** MySQL에서 고유하지 않은 인덱스를 생성한 후 중복을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!