Maison > base de données > tutoriel mysql > le corps du texte

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 ?

Mary-Kate Olsen
Libérer: 2024-10-25 12:37:02
original
855 Les gens l'ont consulté

Here are a few title options, keeping in mind the question format and the article's focus:

**Option 1 (Direct & Concise):** 
How to Remove Duplicates After Creating a Non-Unique Index in MySQL?

**Option 2 (More Specific):**
MySQL Duplicate Rows: How to

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>
Copier après la connexion

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 :

  1. Copiez les données dans une table temporaire.
  2. Tronquez la table d'origine.
  3. Créez un index unique sur la table .
  4. Réinsérez les données dans la table d'origine à l'aide de INSERT IGNORE.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!