CHECK (CHECK)
«قید CHECK» مقدارهای ستون را محدود می کند. «قید (Constraint)» یعنی قانونِ جدول. با این قانون، داده نامعتبر ذخیره نمی شود. مثل ناظم مدرسه که ورود زیرِ 18 سال را ممنوع می کند.
قید CHECK چیست؟
قید CHECK روی ستون یا جدول می نشیند. سپس فقط داده های مطابق شرط پذیرفته می شوند. بنابراین کیفیت داده بالا می رود.
CHECK در CREATE TABLE (MySQL)
هنگام ساخت جدول، شرط حداقل سن را تعریف کن.
CREATE TABLE Persons
(
Age int,
CHECK (Age >= 18)
);
CHECK در CREATE TABLE (SQL Server / Oracle / Access)
می توانی شرط را کنار تعریف ستون بنویسی.
CREATE TABLE Persons
(
Age int CHECK (Age >= 18)
);
نام گذاری قید و چندستونه
برای نام گذاری و شرط روی چند ستون، از CONSTRAINT استفاده کن.
CREATE TABLE Persons
(
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age >= 18 AND City = 'Sandnes')
);
افزودن CHECK با ALTER TABLE
اگر جدول ساخته شده است، قید را با ALTER اضافه کن.
ALTER TABLE Persons
ADD CHECK (Age >= 18);
برای نام گذاری و چند ستون نیز چنین کن.
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age >= 18 AND City = 'Sandnes');
حذف CHECK
در برخی سامانه ها نام قید را با DROP CONSTRAINT حذف کن.
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
در MySQL از DROP CHECK استفاده می شود.
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;
نکته: همیشه پیام خطا را بخوان. معمولاً نام قید در پیام می آید و به حذف/اصلاح کمک می کند.
بخش های مرتبط: CASE برای خروجی شرطی، و COLUMN برای کار با ستون ها.
جمع بندی سریع
- قید CHECK جلوی داده نامعتبر را می گیرد.
- می تواند روی چند ستون باشد.
- می شود نام قید را تعیین کرد.
- با ALTER TABLE هم قابل افزودن است.
- حذف آن با DROP CONSTRAINT یا DROP CHECK است.