أعتقد أنه يجب عليك تخزين هذا قليلاً (إذا كنت تهتم بحجم التخزين) ، ودع NULL
يعني "غير معروف".
field bit(1) default NULL,
يبدو من الغريب أن نعلن أن الحقل not null
ثم الحصول على قيمة خاصة ، يعني بشكل أساسي NULL
.
تعديل:
بناء الجملة التالي "يعمل" SQL Fiddle:
create table t (
val int,
flag tinyint(1) default -1
);
"الأعمال" في عروض أسعار لأن القيمة الافتراضية تطبع على أنها "1" بدلاً من "-1"-بعد كل شيء ، (1)
يقول فقط طباعة رقم واحد.
ربما في بعض الإصدارات السابقة من MySQL ، فإنه يولد خطأ عندما يرى ذلك -1
لن يتم عرضها بشكل صحيح. (لأكون صادقًا ، من شأنه أن يفاجئني.)