unique در دستورات SQL باعث میشود که فیلد مورد نظر در database یکتا شناخته شود.
primery key و unique در واقع تضمین یکتا بودن فیلد مورد نظر در جدول ما میشود.
در یک primery key به طور خودکار دستور unique وجود دارد.
در یک جدول پایگاه داده ای شما میتوانید چندین unique را داشته باشید اما فقط یک primery key میتوانید داشته باشید.
دستور unique در جدول زیر باعث یکتا شدن مقدار "P_Id" میشود.
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)
)
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)
)
برای نام گذاری یک مجدودیت UNIQUE و یا برای معین کردن UNIQUE های موجود در یک جودل می توان از دستور زیر استفاده نمود.
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)
)
ترکیب دستور های ALTER TABLE و UNIQUE یعنی UNIQE کردن یک مقدار برای جدول ساخته شده.
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (P_Id)
MySQL:
ALTER TABLE Persons
DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID