Vad är Unique Constraint i SQL Server:
Unique Constraint i SQL Server skapas på en kolumn eller kolumner för att begränsa kolumnen/kolumnerna att endast acceptera unika värden.Endast ett enda nollvärde tillåts i en kolumn där Unique Constraint skapas.
Scenario:
Låt oss säga att du arbetar som SQL Server-utvecklare för försäkringsbolag, du ombeds skapa dbo.Kundtabell som ska ha en kolumn SSN och den ska alltid acceptera unika värden.Lösning:
För scenariot ovan kan vi använda Unique Constraint on SSN Column. Nedanstående skript kan användas för att skapa unika begränsningar på en kolumn.USE [YourDatabaseName]
GO
CREATE TABLE [dbo].[Customer](
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL,
[SSN] VARCHAR(11),
Unique(SSN)
)
--Insert sample records in table
Insert into dbo.Customer(FirstName,LastName,SSN)
Values('Raza','M',Null)
,('Aamir','Shahzad','000-00-0001')
,('Aamir','Shahzad','000-00-0002') Kontrollera data i dbo.Kundtabell genom att använda Välj fråga
![]() |
| Hur man lägger till unika begränsningar på en kolumn i SQL Server |
Låt oss använda systemvyerna för att kontrollera om Unique Constraint har lagts till och vilket namn SQL Server har gett den.
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'UNIQUE'
![]() |
| Hur man lägger till Unique Constraint i SQL Server |
Som vi kan se att SQL Server har gett "UQ__Customer__CA1E8E3C7E8AFCB1" namn till Unique Constraint. Om vi vill implementera någon namnkonvention borde vi ha angett namn själva.
Om vi försöker infoga värdet som redan finns i Unique Constraint-kolumnen kommer vi att få felet under.
Insert into dbo.Customer(FirstName,LastName,SSN)
Values('Raza','M',Null) Msg 2627, Level 14, State 1, Line 11
Brott mot UNIQUE KEY-begränsning 'UQ__Customer__CA1E8E3C7E8AFCB1'. Kan inte infoga dubblettnyckel i objektet 'dbo.Customer'. Dubblettnyckelvärdet är (
Utsatsen har avslutats.
Om du vill skapa den unika begränsningen med någon namnkonvention kan vi använda nedanstående syntax.
USE [YourDatabaseName]
GO
CREATE TABLE [dbo].[Customer](
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL,
[SSN] VARCHAR(11),
Constraint UQ_Dbo_Customer_SSN Unique(SSN)
) Videodemo :Vad är unik begränsning i SQL Server

