منحصر به فرد (Unique)
قید یونیک (UNIQUE) یعنی مقدارهای ستون تکراری نشوند. «قید (Constraint)» قانون جدول است. بنابراین، با قید یونیک هر سطر باید مقدار یکتا بدهد. در نتیجه، خطای تکراری کمتر می شود.
قید یونیک در ساخت جدول (CREATE TABLE)
وقتی جدول می سازی، می توانی یونیک را همان اول تعریف کنی. سپس جلوی تکرارها را می گیری.
- ستون هدف را انتخاب کن.
- کنار تعریف جدول، UNIQUE بنویس.
- سپس جدول را ایجاد کن.
CREATE TABLE Persons (
ID INT NOT NULL,
LastName VARCHAR(255) NOT NULL,
FirstName VARCHAR(255),
Age INT,
UNIQUE (ID)
);
همچنین می توانی نام برای قید بگذاری. و حتی چند ستون را باهم یونیک کنی.
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
اگر جدول ساخته شده است، باز هم می توانی یونیک اضافه کنی. بنابراین نیازی به ساخت دوباره نیست.
ALTER TABLE Persons
ADD UNIQUE (ID);
برای نام گذاری قید و یونیک چندستونه، همین الگو را استفاده کن.
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);
حذف قید UNIQUE
برای حذف قید یونیکِ نام دار، باید ایندکس آن را حذف کنی. چون یونیک در MySQL ایندکس هم می سازد.
ALTER TABLE Persons
DROP INDEX UC_Person;
نکات کاربردی
- PRIMARY KEY همیشه یونیک است. اما فقط یکی مجاز است.
- می توانی چند قید یونیک داشته باشی. محدودیتی ندارد.
- برای ایمیل یا کدملی عالی است. تکراری نمی شود.
نکته: اگر مقدار تکراری بدهی، درج انجام نمی شود. بنابراین ابتدا وجود را بررسی کن.
ادامه مطالعه: کلید اصلی (Primary Key) و Not Null. همچنین مرجع صفحه قید یونیک را ببین.
جمع بندی سریع
- قید یونیک جلوی تکرار را می گیرد.
- می تواند چندستونه باشد.
- با CREATE یا ALTER تعریف می شود.
- برای حذف، ایندکس را حذف کن.