Suppression des lignes en double dans MySQL 5.0
Le code fourni utilise une sous-requête pour identifier les ID en double dans la table des publications et tenter de les supprimer. Cependant, cette approche est incompatible avec MySQL 5.0. Pour contourner ce problème, nous devons modifier le code pour utiliser une syntaxe différente.
Réécriture du code
Le code révisé pour supprimer les lignes en double de la table des publications est comme suit :
DELETE FROM posts WHERE id IN ( SELECT id FROM ( SELECT id, COUNT(id) AS duplicate_count FROM posts GROUP BY id HAVING duplicate_count > 1 ) AS subquery )
Ce code utilise une sous-requête imbriquée pour identifier les identifiants en double. La sous-requête regroupe d'abord les lignes par colonne id et compte le nombre d'occurrences de chaque ID. Les lignes avec un nombre de doublons supérieur à 1 sont ensuite sélectionnées et leurs ID sont renvoyés sous forme d'ensemble de résultats.
La requête externe utilise l'opérateur IN pour faire correspondre les ID renvoyés par la sous-requête avec les ID de la table des publications. Cela garantit que seules les lignes en double sont supprimées.
Notes supplémentaires
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!