Skapa unika begränsningar
gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Du kan skapa en unik begränsning i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL för att säkerställa att inga duplicerade värden anges i specifika kolumner som inte deltar i en primärnyckel. Om du skapar en unik begränsning skapas automatiskt ett motsvarande unikt index.
Obs
Information om unika begränsningar i Azure Synapse Analytics finns i Primärnyckel, sekundärnyckel och unik nyckel i Azure Synapse Analytics.
behörigheter
Kräver ALTER-behörighet för tabellen.
Använda SQL Server Management Studio (SSMS)
Skapa en unik begränsning med hjälp av SSMS
I Object Explorerhögerklickar du på tabellen som du vill lägga till en unik begränsning till och väljer Design.
På menyn Table Designer väljer du Index/Nycklar.
I dialogrutan Index/nycklar väljer du Lägg till.
I rutnätet under Allmäntväljer du Typ och väljer Unik nyckel i listrutan till höger om egenskapen och väljer sedan Stäng.
På menyn Arkiv väljer du Spara tabellnamn.
Använd Transact-SQL
Skapa en unik begränsning med hjälp av Transact-SQL
I Object Exploreransluter du till en instans av databasmotorn.
I fältet Standard väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Exemplet skapar tabellen
TransactionHistoryArchive4
och skapar en unik begränsning för kolumnenTransactionID
.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Skapa en unik begränsning för en befintlig tabell
I Object Exploreransluter du till en instans av databasmotorn.
I fältet Standard väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Exemplet skapar en unik begränsning för kolumnerna
PasswordHash
ochPasswordSalt
i tabellenPerson.Password
.USE AdventureWorks2022; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
Skapa en unik begränsning för en ny tabell
I Object Exploreransluter du till en instans av databasmotorn.
I fältet Standard väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. Exemplet skapar en tabell och definierar en unik begränsning för kolumnen
TransactionID
.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive2 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Skapa en unik begränsning för en nullbar kolumn
I Object Exploreransluter du till en instans av databasmotorn.
I fältet Standard väljer du Ny fråga.
Kopiera och klistra in följande exempel i frågefönstret och välj Kör. I exemplet skapas en filtrerad unik begränsning med hjälp av
CREATE UNIQUE INDEX
syntax, vilket endast framtvingar unikhet för värden som inte ärNULL
.USE AdventureWorks2022; GO CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion ON dbo.AdventureWorksDWBuildVersion (DBVersion) WHERE (DBVersion IS NOT NULL); GO