Maison > base de données > tutoriel mysql > Comment puis-je supprimer les lignes en double dans MySQL sans utiliser de scripts externes ?

Comment puis-je supprimer les lignes en double dans MySQL sans utiliser de scripts externes ?

DDD
Libérer: 2025-01-24 02:09:09
original
486 Les gens l'ont consulté

How Can I Remove Duplicate Rows in MySQL Without Using External Scripts?

Suppression des lignes en double dans MySQL : une approche basée uniquement sur la base de données

Ce guide montre comment supprimer efficacement les lignes en double d'une table MySQL en fonction de colonnes spécifiques (par exemple, site_id, title, company) sans recourir à des scripts externes. Bien que GROUP BY puisse identifier les doublons, cela nécessite un processus de suppression distinct. Une méthode plus directe exploite la UNIQUE fonctionnalité d'index de MySQL.

La UNIQUE Méthode d'indexation (obsolète)

Auparavant, l'ajout d'un index UNIQUE avec le mot-clé IGNORE offrait une solution. MySQL rejetterait automatiquement les lignes en double lors de la création de l'index. La syntaxe serait :

ALTER IGNORE TABLE jobs
ADD UNIQUE INDEX idx_name (site_id, title, company);
Copier après la connexion

Remarque importante : Cette ALTER IGNORE TABLE approche est obsolète dans MySQL 5.6 et entièrement supprimée dans MySQL 5.7 et les versions ultérieures. Par conséquent, cette méthode n'est pas fiable pour les installations MySQL actuelles.

(Méthode alternative requise pour les versions MySQL modernes) Pour supprimer les doublons dans les versions MySQL plus récentes, une approche en plusieurs étapes utilisant ROW_NUMBER() est nécessaire. Cela nécessitera une requête plus complexe, mais cela reste une solution basée uniquement sur la base de données. Des instructions supplémentaires sur cette méthode alternative sont disponibles dans d’autres ressources.

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal