Per una tabella esistente, è consentito creare un elemento unico su una colonna che potrebbe avere valori ripetuti?È possibile creare un indice univoco in MySQL se la tabella contiene valori ripetuti?
risposta
No, non è ammissibile.
il seguente SQL:
ALTER TABLE `table`
ADD UNIQUE (`column`)
genererà il seguente errore:
#1062 - Duplicate entry 'data' for key 'column'
È possibile identificare i duplicati utilizzando:
SELECT * FROM `table`
GROUP BY `column`
HAVING COUNT(`column`) > 1
Dopo aver rimosso tutti i duplicati, è possibile aggiungi il vincolo UNIQUE
.
non è possibile:
Mysql2::Error: Duplicate entry 'foo' for key 'index_clubs_on_url': CREATE UNIQUE INDEX `index_clubs_on_url` ON `clubs` (`url`)
In realtà è possibile, almeno in MySQL 5.1+. È possibile utilizzare:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX (`column`);
Se la tabella è InnoDB è necessario eseguire questo prima:
set session old_alter_table=1
riferimento http://www.mikeperham.com/2012/03/02/deleting-duplicate-rows-in-mysql/
EDIT: A partire da MySQL 5.7.4, la clausola IGNORE per ALTER TABLE è stato rimosso e il suo utilizzo produce un errore. Grazie a @EdwardvanKuik per Indicarlo nei commenti
A partire da MySQL 5.7.4, la clausola IGNORE per ALTER TABLE viene rimossa e il suo utilizzo produce un errore. –
- 1. Come creare l'indice univoco per la tabella esistente in MySQL che contiene Records
- 2. MySQL Group_Concat Valori ripetuti
- 3. mysql indice univoco EXCEPT vuoto o nullo
- 4. Mysql sopprimere temporaneamente indice univoco
- 5. Mysql - Modifica dell'istruzione della tabella per creare un indice univoco nel campo di testo lungo
- 6. È possibile creare indici nella funzione di valori di tabella
- 7. Indice univoco vs non univoco
- 8. Devo aggiungere un indice su una tabella mySQL se la colonna ID è la chiave primaria?
- 9. MySQL 5.0 indice valori nulli?
- 10. mongoid indice univoco consentito valori duplicati
- 11. Django: creare indice: non univoco, a più colonne
- 12. Come impedire i valori ripetuti nella tabella di iReport-3.6.7?
- 13. Qual è la differenza tra un vincolo univoco e un indice univoco
- 14. Come aggiungere un indice univoco subordinata PostgreSQL
- 15. È possibile specificare un indice univoco con NULL consentiti in Rails/ActiveRecord?
- 16. Aggiungi indice univoco. SQLite3
- 17. elenco diviso per determinati valori di indice ripetuti
- 18. Come si aggiunge un indice univoco su un campo in un DB MySQL partizionato?
- 19. Come posso creare un indice univoco in Oracle ma ignorare i null?
- 20. Come verificare un insieme di valori è univoco (non contiene duplicati) in C#
- 21. MySQL: quanto tempo è necessario per creare un indice?
- 22. È possibile creare metodi * con valori tabella * in un tipo definito dall'utente CLR SQL?
- 23. Come posso creare un indice DESC in MySQL?
- 24. è possibile creare due chiavi primarie in una tabella
- 25. Unione con indice filtrato univoco
- 26. Come aggirare i valori mancanti in un indice univoco usando mongo db?
- 27. È possibile impostare un vincolo univoco come chiave esterna in un'altra tabella?
- 28. mysql - impossibile creare la vista che contiene unione
- 29. Partizionamento SQL Server - Errore indice univoco
- 30. indice univoco rallenta?
Nota - Questo rimuoverà tutti i record che hanno quel particolare valore. Potresti semplicemente voler eliminare tutti tranne uno. –