MySQL - ein vorhandenes Feld Einzigartig
Ich habe eine bereits bestehende Tabelle mit einem Feld, das sollte eindeutig sein, ist es aber nicht. Ich weiß nur, das da ein Eintrag in der Tabelle, die den gleichen Wert wie ein anderes, bereits bestehendes, Eintrag und diese Probleme verursacht.
Wie Mach ich das Feld akzeptieren nur eindeutige Werte?
InformationsquelleAutor Lothar | 2011-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für MySQL 5.7.4 oder später:
Also, stellen Sie sicher, entfernen Sie doppelte Einträge IGNORIEREN keyword wird nicht mehr unterstützt.
Referenz
If IGNORE is specified, only the first row is used of rows with duplicates on a unique key, The other conflicting rows are deleted.
DocsGibt es eine Möglichkeit zu sagen, es zu löschen von Zeilen basierend auf einem bestimmten Kriterium? Oder würden Sie brauchen, um einige der Vorverarbeitung, bevor die
ALTER
dieses zu erhalten getan.Ich weiß nicht, ob es einen Weg gibt, die man wählen zu halten, während dieser Abfrage.
UNIQUE
ist eines jener Dinge, die sollten wirklich getan haben während der Erstellung der Datenbank.ALTER IGNORE
können immer noch Doppelte Fehler auf den MySQL-version > 5.5 und auf InnoDB für die Sicherheit Willen Ihrer Daten. Wenn Sie nur sicher, dass die Beibehaltung der erste der doppelten Zeilen ist die richtige, versuchen Sieset session old_alter_table=1
. Vergessen Sie nicht, stellen Sie ihn zurück. mysqlolyk.wordpress.com/2012/02/18/...Für jeden Stolperstein auf diesem mit 5.6.7 oder höher, IGNORIEREN wird nicht mehr unterstützt. moredocs ich denke, die Art und Weise, es jetzt zu tun ist, um sicherzustellen, dass Sie nicht auf Duplikate der ersten, nicht?
InformationsquelleAutor WuHoUnited
Schreiben Sie einfach diese Abfrage in deine db phpmyadmin.
ZB:
ALTER TABLE user ADD UNIQUE (email)
InformationsquelleAutor Rizwan Shamsher Kaim Khani
Wenn Sie wollen auch, um den Namen der Einschränkung, verwenden Sie diese:
InformationsquelleAutor ypercubeᵀᴹ
CREATE UNIQUE INDEX foo ON table_name (field_name)
(Müssen Sie entfernen Sie doppelte Werte vor.)
InformationsquelleAutor Zulan
Der einfachste und Schnellste Weg wäre mit phpmyadmin die Struktur der Tabelle.
Gibt es in der Russischen Sprache aber in der englischen Version sollte das gleiche sein. Klicken Sie einfach auf Einzigartigen Taste. Auch von dort aus können Sie machen Sie Ihre Spalten PRIMÄRE oder LÖSCHEN.
InformationsquelleAutor MKA
ist die richtige Antwort
den Teil einfügen
InformationsquelleAutor user3772326
Dieser code ist, um unser problem zu lösen, um einzigartige Schlüssel für die vorhandene Tabelle
InformationsquelleAutor KARTHIKEYAN.A