إذا كان العمود اختياريًا، مثل بريد قد لا يقدمه المستخدم، فاجعله يقبل NULL:
email VARCHAR(100) NULL
NULL تعني “لا توجد قيمة”. وهي الحالة الافتراضية للأعمدة في MySQL ما لم تكتب NOT NULL.
لماذا لا أضع قيمة مثل ‘noEmail’؟
القيمة الوهمية تبدو كبريد حقيقي، وقد يحاول الكود إرسال رسالة إليها. ومع UNIQUE ستتعارض القيم الوهمية المتكررة. NULL أوضح:
SELECT * FROM users WHERE email IS NULL; -- users without email
ومع UNIQUE؟
email VARCHAR(100) UNIQUE NULL مقبول: يمنع تكرار البريد، ويسمح بعدة صفوف دون بريد، لأن NULL لا يُعتبر مكررًا.