SQL EŞSİZ Kısıtlama
SQL EŞSİZ Kısıtlama
Kısıtlama , UNIQUE
bir sütundaki tüm değerlerin farklı olmasını sağlar.
Hem UNIQUE
ve
PRIMARY KEY
kısıtlamaları, bir sütun veya sütun kümesi için benzersizlik için bir garanti sağlar.
Bir PRIMARY KEY
kısıtlamanın otomatik olarak bir
UNIQUE
kısıtlaması vardır.
Ancak, tablo başına birçok UNIQUE
kısıtlamanız olabilir, ancak tablo başına yalnızca bir
PRIMARY KEY
kısıtlamanız olabilir.
CREATE TABLE'da SQL UNIQUE Kısıtlaması
Aşağıdaki SQL UNIQUE
, "Kişiler" tablosu oluşturulduğunda "Kimlik" sütununda bir kısıtlama oluşturur:
SQL Sunucusu / Oracle / MS Erişimi:
CREATE TABLE Persons
(
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
Bir UNIQUE
kısıtlamayı adlandırmak ve birden çok sütunda bir kısıtlama tanımlamak
UNIQUE
için aşağıdaki SQL sözdizimini kullanın:
MySQL / SQL Sunucusu / Oracle / MS Erişimi:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
ALTER TABLE'da SQL UNIQUE Kısıtlaması
UNIQUE
Tablo zaten oluşturulduğunda "ID" sütununda bir kısıtlama oluşturmak için aşağıdaki SQL'i kullanın:
MySQL / SQL Sunucusu / Oracle / MS Erişimi:
ALTER TABLE Persons
ADD UNIQUE (ID);
Bir UNIQUE
kısıtlamayı adlandırmak ve birden çok sütunda bir kısıtlama tanımlamak
UNIQUE
için aşağıdaki SQL sözdizimini kullanın:
MySQL / SQL Sunucusu / Oracle / MS Erişimi:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
BENZERSİZ bir Kısıtlama BIRAKIN
Bir UNIQUE
kısıtlamayı kaldırmak için aşağıdaki SQL'i kullanın:
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Sunucusu / Oracle / MS Erişimi:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;