데이터베이스에서 A, B, C, D 필드에 고유 인덱스를 생성하여 중복 레코드를 방지하는 것을 목표로 했습니다. 그러나 실수로 일반 인덱스를 대신 생성하여 중복 삽입이 발생했습니다. 2천만 개의 레코드가 위태로워지면 당연히 변경을 주저하게 됩니다.
기존 인덱스를 고유 인덱스로 변경하거나 새 인덱스를 추가할 때, MySQL의 동작은 중복이 있는지 여부에 따라 달라집니다.
MySQL 5.7.4 이상에서 이 문제를 해결하려면 다음 단계를 따르세요.
이 방법은 나머지 데이터를 보존하면서 중복 항목을 효과적으로 제거합니다.
5.7.4 이전 MySQL 버전의 경우 ALTER TABLE 문의 IGNORE 절을 사용하여 보존할 행을 지정하지 않고 중복 항목을 제거할 수 있습니다. 그러나 이 작업을 시도하기 전에 데이터를 백업해 두는 것이 좋습니다.
위 내용은 MySQL에서 고유하지 않은 인덱스를 생성한 후 중복 레코드를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!