2010-03-12 13 views
1

Je souhaite ajouter un index à une table contenant déjà des données. Je sais qu'il y a quelques enregistrements actuellement dans la table qui ne sont pas uniques avec ce nouvel index. Clairement, MySQL ne me laissera pas ajouter l'index jusqu'à ce qu'ils soient tous.Création d'un nouvel index dans SQL lorsque les enregistrements en cours ne correspondent pas à cet index

J'ai besoin d'une requête pour identifier les lignes qui ont actuellement le même index. Je peux ensuite supprimer ou modifier ces lignes si nécessaire. Le nouvel index contient 6 champs.

Action de grâce

Jonathan

Répondre

1

Vous pouvez utiliser un GROUP BY avec HAVING pour trouver les champs incriminés.

SELECT IndexField 
FROM  YourTable 
GROUP BY IndexField 
HAVING COUNT(*) > 1