SQL’de UNIQUE Constraint

BENZERSİZ kısıtlaması  veritabanı tablodaki her kaydı için benzersiz olarak tanımlar.

 

BİRİNCİL anahtar ve UNIQUE kısıtlamaları, benzersiz bir sütun veya sütunları kümesi garantisini sağlar.

 

Bir birincil anahtar kısıtlaması otomatik olarak tanımlanmış benzersiz kısıtlamaya sahip.

 

Not: Tablo başına birçok benzersiz kısıtlamaları olabilir, ancak her tablo yalnızca bir birincil anahtar kısıtlaması olabilir.


 

 

 

 

 

SQL UNIQUE Constraint on CREATE TABLE

"Kişi" tablosunu oluşturduğunuzda aşağıdaki SQL "P_Id" sütunu benzersiz bir kısıtlama oluşturur:



SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MySQL:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

BENZERSİZ kısıtlama ve benzersiz kısıtlamayı birden çok sütunda tanımlamaya izin vermek için aşağıdaki SQL

 

sözdizimini kullanın:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)

 

 

 

 

SQL UNIQUE Constraint on ALTER TABLE

Tablo zaten oluşturulmuş ise  "P_Id" sütun UNIQUE bir kısıtlaması ile oluşturmak için aşağıdaki SQL komutunu kullanın:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

BENZERSİZ kısıtlama ve benzersiz kısıtlamayı birden çok sütunda tanımlamaya izin vermek için aşağıdaki SQL sözdizimini kullanın:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

 


To DROP a UNIQUE Constraint

Bir UNIQUE sınırlamasını silmek için aşağıdaki SQL kullanın:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID