SQL NOT NULL Constraint

در SQL از NOT NULL Constraint برای جلوگیری از ورود مقدار خالی (NULL) در یک ستون استفاده می‌کنیم.
وقتی ستونی با NOT NULL تعریف بشه، باید همیشه مقداری در آن درج شود.

🔹 ساختار کلی

CREATE TABLE table_name ( column_name datatype NOT NULL, ... );
  • column_name → نام ستون

  • datatype → نوع داده‌ی ستون

  • NOT NULL → اجازه‌ی خالی ماندن ستون را نمی‌دهد

🔹 مثال ساده

CREATE TABLE Students ( StudentID INT NOT NULL, FullName VARCHAR(100) NOT NULL, Age INT );

📌 توضیح:
در جدول Students ستون‌های StudentID و FullName باید مقدار داشته باشن،
ولی ستون Age می‌تونه خالی (NULL) باشه.

🔹 درج داده معتبر

INSERT INTO Students (StudentID, FullName, Age) VALUES (1, 'Ali Rezaei', 22);

✅ این دستور اجرا میشه چون همه‌ی ستون‌های NOT NULL مقدار دارن.

🔹 درج داده نامعتبر

INSERT INTO Students (StudentID, Age) VALUES (2, 20);

❌ خطا: ستون FullName مقدار NOT NULL داره، پس نمی‌تونه خالی باشه.

🔹 افزودن NOT NULL به جدول موجود

اگر بخوای به یک ستون موجود NOT NULL اضافه کنی:

ALTER TABLE Students ALTER COLUMN FullName VARCHAR(100) NOT NULL;

📌 قبل از اجرای این دستور مطمئن شو که هیچ سطری مقدار NULL در اون ستون نداشته باشه.

🔹 نکات مهم

  • NOT NULL از ورود داده‌ی ناقص جلوگیری می‌کنه.

  • در SQL Server، MySQL و PostgreSQL به‌صورت یکسان عمل می‌کنه.

  • معمولاً ستون‌های کلیدی مثل ID یا PRIMARY KEY همیشه NOT NULL تعریف می‌شن.