"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment éliminer les enregistrements en double dans une base de données MySQL avec une contrainte de clé unique ?

Comment éliminer les enregistrements en double dans une base de données MySQL avec une contrainte de clé unique ?

Publié le 2024-11-19
Parcourir:930

How to Eliminate Duplicate Records in a MySQL Database with a Unique Key Constraint?

Purger les enregistrements en double d'une base de données MySQL : une solution clé unique

Le maintien de l'intégrité des données est crucial pour le fonctionnement efficace de toute base de données. Dans ce cas, vous rencontrez une table avec une colonne « id » et « title », où « title » doit être distinct. Cependant, la présence de plus de 600 000 enregistrements, dont de nombreux doublons, constitue un défi pour parvenir à l'unicité. Notre objectif est d'éliminer ces entrées en double sans compromettre les titres uniques.

La solution réside dans l'utilisation de la puissance d'une contrainte de clé unique. En ajoutant une clé UNIQUE à la colonne « titre », nous pouvons efficacement renforcer l'unicité et empêcher l'insertion ou la mise à jour d'enregistrements en double. Cependant, l'ajout direct d'une clé unique à une colonne contenant des doublons existants entraînera des erreurs.

Pour résoudre ce problème, nous utilisons la commande « ALTER IGNORE TABLE » suivie de la clause « ADD UNIQUE KEY ». Cette commande demande à MySQL d'ignorer les erreurs pouvant survenir lors de l'ajout de la clé unique. Par conséquent, toutes les lignes en double qui auraient violé la contrainte d'unicité sont supprimées silencieusement, éliminant ainsi les doublons.

Voici la syntaxe de commande que vous pouvez utiliser :

ALTER IGNORE TABLE table ADD UNIQUE KEY idx1(title);

Notez que cette commande peut ne pas être compatible avec les tables InnoDB dans certaines versions de MySQL. Dans de tels cas, reportez-vous à cet article pour une solution alternative.

En exécutant cette commande, vous établissez une clé unique pour la colonne « titre » et supprimez tous les enregistrements en double d'un seul coup. Cela vous permet de maintenir l'intégrité des données tout en garantissant le caractère unique des titres.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3