Wie erstelle ich eine eindeutige Einschränkung für eine vorhandene Tabelle in SQL Server 2005?
Ich suche sowohl nach der TSQL als auch nach der Vorgehensweise im Datenbankdiagramm.
sql
sql-server
constraints
David Basarab
quelle
quelle
In SQL Server Management Studio Express:
quelle
quelle
Warnung: In der Spalte, die Sie als eindeutig festgelegt haben, darf sich nur eine Nullzeile befinden.
Sie können dies mit einem gefilterten Index in SQL 2008 tun:
Siehe Feldwert muss eindeutig sein, es sei denn, er ist für eine Reihe von Antworten NULL .
quelle
quelle
Ich habe auch festgestellt, dass Sie dies über die Datenbankdiagramme tun können.
Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Indizes / Schlüssel ...
Klicken Sie auf die Schaltfläche "Hinzufügen" und ändern Sie die Spalten in die Spalten, die Sie eindeutig machen möchten.
Änderung ist eindeutig in Ja.
Klicken Sie auf Schließen und speichern Sie das Diagramm. Es wird der Tabelle hinzugefügt.
quelle
Sie suchen nach etwas wie dem folgenden
MSDN Docs
quelle
Verwenden Sie die folgende SQL, um eine EINZIGARTIGE Einschränkung für eine oder mehrere Spalten zu erstellen, wenn die Tabelle bereits erstellt wurde:
Um die Benennung einer EINZIGARTIGEN Einschränkung für die obige Abfrage zu ermöglichen
Die von MySQL / SQL Server / Oracle / MS Access unterstützte Abfrage.
quelle
UNIQUE NONCLUSTERED
und OptionenPAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
?Wählen Sie im Management Studio-Diagramm die Tabelle aus, klicken Sie mit der rechten Maustaste, um bei Bedarf eine neue Spalte hinzuzufügen, klicken Sie mit der rechten Maustaste auf die Spalte und wählen Sie "Einschränkungen prüfen". Dort können Sie eine hinzufügen.
quelle
In einigen Situationen kann es wünschenswert sein, vor dem Erstellen sicherzustellen, dass der eindeutige Schlüssel nicht vorhanden ist. In solchen Fällen kann das folgende Skript hilfreich sein:
quelle