Unieke beperkingen maken
Van toepassing op: SQL Server 2016 (13.x) en latere versies
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
U kunt een unieke beperking maken in SQL Server met behulp van SQL Server Management Studio of Transact-SQL om ervoor te zorgen dat er geen dubbele waarden worden ingevoerd in specifieke kolommen die niet deelnemen aan een primaire sleutel. Als u een unieke beperking maakt, wordt automatisch een bijbehorende unieke index gemaakt.
Notitie
Zie primaire sleutel, refererende sleutel en unieke sleutel in Azure Synapse Analyticsvoor informatie over unieke beperkingen in Azure Synapse Analytics.
machtigingen
Vereist ALTER-machtiging voor de tabel.
SQL Server Management Studio (SSMS) gebruiken
Een unieke beperking maken met behulp van SSMS
Klik in Objectverkennermet de rechtermuisknop op de tabel waaraan u een unieke beperking wilt toevoegen en selecteer Ontwerp.
Selecteer Indexen/Sleutels in het Tabelontwerper-menu.
Selecteer in het dialoogvenster Indexes/Keys de optie Toevoegen.
Selecteer in het raster onder AlgemeenType en kies Unieke Sleutel in de vervolgkeuzelijst rechts van de eigenschap, en selecteer vervolgens Sluiten.
Selecteer in het menu BestandTabelnaam opslaan .
Transact-SQL gebruiken
Een unieke beperking maken met behulp van Transact-SQL
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine.
Selecteer op de standaardbalk ,Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In het voorbeeld wordt de tabel gemaakt
TransactionHistoryArchive4
en wordt een unieke beperking gemaakt voor de kolomTransactionID
.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Een unieke beperking voor een bestaande tabel maken
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine.
Op de standaardbalk, selecteer Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In het voorbeeld wordt een unieke beperking gemaakt voor de kolommen
PasswordHash
enPasswordSalt
in de tabelPerson.Password
.USE AdventureWorks2022; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
Een unieke beperking voor een nieuwe tabel maken
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine.
Op de standaardbalk selecteer Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In het voorbeeld wordt een tabel gemaakt en wordt een unieke beperking voor de kolom
TransactionID
gedefinieerd.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive2 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Een unieke beperking maken voor een kolom met null-waarden
Maak in Objectverkennerverbinding met een exemplaar van de Database Engine.
Selecteer op de Standaard balk Nieuwe query.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In het voorbeeld wordt een gefilterde unieke beperking gemaakt met behulp van de
CREATE UNIQUE INDEX
syntaxis, waarbij alleen uniekheid wordt afgedwongen voor niet-NULL
waarden.USE AdventureWorks2022; GO CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion ON dbo.AdventureWorksDWBuildVersion (DBVersion) WHERE (DBVersion IS NOT NULL); GO