انتقل إلى محتوى الدرس

Mandatory Columns with NOT NULL الأعمدة الإلزامية بقيد NOT NULL

تعلّم قيدا منع الفراغ NOT NULL والقيمة الافتراضية DEFAULT بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تسمح أعمدة الجداول في MySQL افتراضياً بتخزين العلامة الخاصة NULL التي تعني غياب القيمة أو عدم معرفتها. وعند إضافة قيد NOT NULL بعد نوع بيانات العمود مباشرةً، يرفض محرك InnoDB أي عملية تترك هذا العمود فارغاً ويُظهر الخطأ القياسي Error 1048: Column cannot be null:

  • اكتمال البيانات الأساسية: يضمن عدم حفظ سجلات تفتقر إلى الحقول الجوهرية مثل البريد الإلكتروني أو اسم المنتج أو السعر.
  • تحسين التخزين والفهرسة: يوفر محرك InnoDB بايتات رايات الفراغ (NULL Bitmask) عندما يكون العمود معرَّفاً بقيد NOT NULL.
  • الفرق بين NULL والنص الفارغ: تعني NULL غياب القيمة تماماً، بينما يُعد النص الفارغ '' سلسلة نصية فعلية طولها صفر.
مخطط يوضح قيد منع الفراغ NOT NULL والقيمة الافتراضية الثابتة والتعبيرات الديناميكية في MySQL 8
SQL
CREATE TABLE customers (
    full_name VARCHAR(100) NOT NULL,
    email VARCHAR(150) NOT NULL,
    phone_number VARCHAR(25) NULL,
    notes TEXT NULL
);