غیرتهی (Not Null)
قید «غیرتهی (NOT NULL)» یعنی ستون نباید تهی باشد. یعنی هر رکورد باید مقدار معتبر بدهد. مثل فرم مدرسه که شماره دانش آموزی خالی نمی ماند.
قید NOT NULL چیست؟
به صورت پیش فرض ستون می تواند NULL باشد. اما قید «NOT NULL» اجازه مقدار تهی را نمی دهد. پس درج یا به روزرسانی بدون مقدار، خطا می دهد و انجام نمی شود.
NOT NULL در CREATE TABLE
می توان از ابتدا هنگام ساخت جدول ستون ها را غیرتهی کرد.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);
NOT NULL با ALTER TABLE
اگر جدول ساخته شده است، با ALTER TABLE ستون را غیرتهی کن.
SQL Server / MS Access
ALTER TABLE Persons
ALTER COLUMN Age int NOT NULL;
MySQL / Oracle قدیمی
ALTER TABLE Persons
MODIFY COLUMN Age int NOT NULL;
Oracle 10G و جدیدتر
ALTER TABLE Persons
MODIFY Age int NOT NULL;
نکته: قبل از غیرتهی کردن ستون، مطمئن شو مقادیر فعلی NULL نیستند. وگرنه تغییر با خطا روبه رو می شود.
راهنمای عملی سه مرحله ای
- ستون های ضروری را مشخص کن؛ مثلاً نام و شناسه.
- هنگام ساخت، NOT NULL بگذار یا بعداً ALTER کن.
- ورودی ها را بررسی کن تا NULL ثبت نشود.
جمع بندی سریع
- NOT NULL یعنی مقدار اجباری است.
- از خالی بودن داده جلوگیری می کند.
- هنگام CREATE یا با ALTER اعمال می شود.
- قبل از تغییر، NULLهای قبلی را اصلاح کن.