Ich habe SQL Server 2008 R2 und möchte eine eindeutige Spalte festlegen.
Es scheint zwei Möglichkeiten zu geben, dies zu tun: "eindeutiger Index" und "eindeutige Einschränkung". Sie unterscheiden sich nicht wesentlich von dem, was ich verstehe, obwohl die meisten eine eindeutige Einschränkung empfehlen, da Sie auch automatisch einen Index erhalten.
Wie erstelle ich eine eindeutige Einschränkung?
ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)
Gibt es eine Möglichkeit, eine eindeutige Einschränkung über SQL Server Management Studio zu erstellen?
quelle
Legen Sie die Spalte in SQL Server über die GUI als eindeutig fest:
Sie bringen dich wirklich dazu, durch die Scheune zu rennen, um es mit der GUI zu tun:
Stellen Sie sicher, dass Ihre Spalte nicht gegen die eindeutige Einschränkung verstößt, bevor Sie beginnen.
Oder legen Sie die Spalte im SQL-Abfragefenster als eindeutig fest:
Änderungen werden sofort wirksam:
quelle
Hier ist ein weiterer Weg durch die GUI, der genau das tut, was Ihr Skript tut, obwohl es Indizes (nicht Einschränkungen) im Objekt-Explorer durchläuft.
quelle
Eine Sache, die nicht klar behandelt wird, ist, dass Microsoft SQL im Hintergrund einen eindeutigen Index für die hinzugefügte Einschränkung erstellt
Wie Sie sehen können, gibt es eine neue Einschränkung und einen neuen Index U_Name
quelle