SQL Server 2005 Wie eine einzigartige Constraint erstellen?
-
09-06-2019 - |
Frage
Wie erstelle ich eine eindeutige Einschränkung auf einer vorhandenen Tabelle in SQL Server 2005?
Ich suche sowohl in der TSQL und wie es in dem Datenbank-Schema zu tun.
Lösung
Der SQL-Befehl lautet:
ALTER TABLE <tablename> ADD CONSTRAINT
<constraintname> UNIQUE NONCLUSTERED
(
<columnname>
)
Sehen Sie die vollständige Syntax rel="noreferrer">.
Wenn Sie wollen, dass es von einem Datenbankdiagramm tun:
- der rechten Maustaste auf die Tabelle und wählen Sie ‚Indizes / Schlüssel‘
- Klicken Sie auf die Schaltfläche Hinzufügen einen neuen Index hinzufügen
- die notwendigen Informationen in den Eigenschaften auf der rechten Seite ein:
- die Spalten, die Sie (klicken Sie auf die Schaltfläche mit Auslassungspunkten auszuwählen) möchten
- Satz ist einzigartig auf Ja
- gibt ihm einen entsprechenden Namen
Andere Tipps
In SQL Server Management Studio Express:
- Rechtsklick auf Tabelle, wählen Sie Ändern oder Entwurf (höhere Versionen)
- Rechtsklick Feld, wählen Sie Indizes / Schlüssel ...
- Klicken Sie auf Hinzufügen
- Spalten , wählen Sie die Feldnamen Sie wollen eindeutig sein.
- Typ , wählen Sie Eindeutiger Schlüssel .
- Klicken Sie auf Schließen , Speichern die Tabelle.
ALTER TABLE [TableName] ADD CONSTRAINT [constraintName] UNIQUE ([columns])
Achtung: Nur eine Null-Reihe kann in der Spalte, die Sie festgelegt haben, einzigartig sein
.Sie können dies mit einem gefilterten Index in SQL 2008:
CREATE UNIQUE NONCLUSTERED INDEX idx_col1
ON dbo.MyTable(col1)
WHERE col1 IS NOT NULL;
Siehe Feldwert eindeutig sein muss, wenn es NULL ist für eine Reihe von Antworten.
ALTER TABLE dbo.<tablename> ADD CONSTRAINT
<namingconventionconstraint> UNIQUE NONCLUSTERED
(
<columnname>
) ON [PRIMARY]
Ich fand auch tun können Sie dies über die Datenbank-Diagramme.
Mit dem Recht der Tabelle klicken und die Auswahl Indizes / Schlüssel ...
Klicken Sie auf die Schaltfläche ‚Hinzufügen‘, und die Spalten auf die Spalte (n) ändern möchten Sie einzigartig machen.
Ändern ist einzigartig auf Ja.
close Klicken und das Diagramm speichern, und es wird sie in die Tabelle.
Sie suchen etwas wie das folgende
ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
UNIQUE column_b
Um eine UNIQUE-Einschränkung auf einer oder mehr Spalten zu erstellen, wenn die Tabelle bereits erstellt wird, verwenden Sie die folgende SQL:
ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)
Zur Benennung einer UNIQUE-Einschränkung für obige Abfrage erlaubt
ALTER TABLE TableName ADD CONSTRAINT un_constaint_name UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)
Die Abfrage unterstützt von MySQL / SQL Server / Oracle / MS Access.
Im Management Studio Diagramm, das die Tabelle wählen, klicken Sie rechts neue Spalte hinzufügen, wenn gewünscht, einen Rechtsklick auf die Spalte und wählen Sie „Check Constraints“, dort können Sie hinzufügen.
In einigen Situationen kann es wünschenswert sein, die Eindeutiger Schlüssel, um sicherzustellen, ist es existiert nicht, bevor zu erstellen. In solchen Fällen könnte das Skript unten helfen:
IF Exists(SELECT * FROM sys.indexes WHERE name Like '<index_name>')
ALTER TABLE dbo.<target_table_name> DROP CONSTRAINT <index_name>
GO
ALTER TABLE dbo.<target_table_name> ADD CONSTRAINT <index_name> UNIQUE NONCLUSTERED (<col_1>, <col_2>, ..., <col_n>)
GO