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)DROP کردن فیلد UNIQE :
MySQL:
ALTER TABLE Persons
DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID