データベースでは、フィールド A、B、C、D に一意のインデックスを作成することでレコードの重複を防ぐことを目的としました。ただし、誤って通常のインデックスを作成したため、重複挿入が発生しました。 2,000 万件のレコードが危険にさらされていると、変更を加えるのは当然ためらわれます。
既存のインデックスを一意のインデックスに変更するか、新しいインデックスを追加する場合、 MySQL の動作は、重複があるかどうかによって異なります:
MySQL 5.7.4 以降でこの問題に対処するには、次の手順に従います。
この方法では、残りのデータを保持しながら重複を効果的に削除します。
MySQL バージョン 5.7.4 より前の場合、ALTER TABLE ステートメントで IGNORE 句を使用して、どの行を保持するかを指定せずに重複を削除できます。ただし、この操作を試行する前に、データのバックアップがあることを確認してください。
以上がMySQL で一意でないインデックスを作成した後に重複レコードを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。