Vielen Dank für Sie alle Antworten.MySQL einzigartige Indizes Design
ich lerne, wie ich werde - so lerne ich aber immer noch einen langen Weg zu gehen. Für die Arbeit verwenden wir hauptsächlich MySQL für unsere Datenbanken - Web-Entwicklung. Ich habe eine Frage bezüglich eindeutiger Indizes - wann man sie richtig verwendet und wie.
Ich bin sicher, ziemlich verstehe ich ihren Zweck - eine Spalte als "nicht duplizierte" Spalte zu deklarieren, auch kein Wert kann zweimal in der Tabelle für diese bestimmte Spalte existieren. Wenn ein Insert/Update versucht wird, das gegen diese Indexregel verstößt, schlägt es fehl.
Ich erstelle ein Benutzersystem für eine Website, und ich entwerfe die Datenbanktabellen für das System. Ein Tisch ist ein „Benutzer“ Tabelle - hält Benutzer
users
-----------------
int(4) usersID primary key
varchar(255) lastName
varchar(255) firstName
varchar(255) email unique
varchar(255) password
Ich habe einen eindeutigen Index für die E-Mail "erstellt wurde, weil jede E-Mail für jeden Benutzer unterschiedlich sein müssen - es wird als ihre Log-in verwendet werden. Ich möchte jedoch auch einen eindeutigen Index für "Nachname", "Vorname" und "E-Mail" erstellen, da keine zwei Benutzer die gleiche Kombination dieser drei haben sollten. Soll ich einen anderen eindeutigen Index für diese Regel erstellen oder nur einen für diese drei erstellen? Ist es falsch, Spalten in Indizes zu wiederholen?