Maison > Article > base de données > Voici quelques options de titre, en gardant à l'esprit le format de la question et l'objet de l'article : **Option 1 (directe et concise) :** Comment supprimer les doublons après avoir créé un index non unique dans MySQL ?
Suppression des doublons avec un index unique
Dans le scénario donné, des doublons ont été insérés par inadvertance dans une table en raison d'une mauvaise configuration d'un index sur les colonnes A, B, C et D. Malgré l'objectif d'éviter les doublons, l'index créé était un index normal plutôt qu'un index unique.
Exécution de requête
Si si l'on tente de modifier l'index existant de normal à unique ou d'ajouter un nouvel index unique pour les mêmes colonnes, la requête échouera en raison de la présence d'enregistrements en double.
Solution alternative avec IGNORE Option (pré-5.7.4)
L'utilisation de l'option IGNORE dans la syntaxe ALTER TABLE permet de supprimer les doublons :
<code class="sql">ALTER IGNORE TABLE mytable ADD UNIQUE INDEX myindex (A, B, C, D);</code>
Cela supprimera les lignes en double, mais c'est important de noter que la documentation ne précise pas quelles lignes seront conservées.
Solution pour MySQL 5.7.4 et supérieures
Pour les versions 5.7.4 et supérieures, IGNORER n'est plus pris en charge dans ALTER TABLE. Cependant, l'approche suivante peut être utilisée :
Ce processus supprimera les doublons lors de l'opération INSERT.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!