SQL UNIQUE Kısıtlaması

SQL UNIQUE Kısıtlaması

UNIQUE kısıtlama, veritabanı tablosundaki her kaydı benzersiz olarak tanımlar.

UNIQUE ve PRIMARY KEY kısıtlamaları, sütun veya sütun koleksiyonlarına benzersizlik garantisi sağlar.

PRIMARY KEY, otomatik olarak tanımlanan UNIQUE kısıtlamaya sahiptir.

Lütfen dikkat edin, her tablo birden fazla UNIQUE kısıtlama sahip olabilir, ancak her tablo sadece bir PRIMARY KEY kısıtlamasına sahip olabilir.

CREATE TABLE üzerinde SQL UNIQUE Kısıtlama

Aşağıdaki SQL, "Persons" tablosu oluşturulduğunda "Id_P" sütununda UNIQUE kısıtlama oluşturur:

MySQL:

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

SQL Server / Oracle / MS Access:

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

UNIQUE kısıtlamayı adlandırmak ve birden fazla sütun için UNIQUE kısıtlama tanımlamak için aşağıdaki SQL dilbilgisi kullanın:

MySQL / SQL Server / Oracle / MS Access:

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

ALTER TABLE üzerinde SQL UNIQUE Kısıtlaması

Tablo oluşturulduktan sonra "Id_P" sütununda UNIQUE kısıtlama oluşturmak için aşağıdaki SQL kullanın:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

UNIQUE kısıtlamayı adlandırmak ve birden fazla sütun için UNIQUE kısıtlama tanımlamak için aşağıdaki SQL dilbilgisi kullanın:

MySQL / SQL Server / Oracle / MS Access:

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

UNIQUE Kısıtlamayı İptal Etme

UNIQUE kısıtlamayı iptal etmek 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