كون القيمة عددًا صحيحًا لا يكفي لضمان قبولها في عمود INT. لكل نوع عددي مجال محدد، ويجب أن تقع القيمة داخله. الحد الأعلى لنوع INT ذي الإشارة هو 2147483647، ولذلك لا يستوعب العدد ثلاثة مليارات. مع الوضع الصارم، يؤدي إدخال هذه القيمة في ذلك العمود إلى خطأ بدل تخزينها كما هي.
يمكن استخدام INT UNSIGNED عندما لا تحتاج البيانات إلى أعداد سالبة. يصل حده الأعلى إلى 4294967295، ولذلك يستوعب ثلاثة مليارات. المهم أن يكون الاختيار مبنيًا على المجال المتوقع للبيانات، بما فيه النمو المستقبلي، وليس فقط على حجم أول قيمة ستدخلها. كما أن كتابة عدد بين قوسين بعد INT لا توسع مجال القيم المدعوم ولا تعالج تجاوز الحد الأعلى.
مثال
CREATE TABLE planets (
sample_count INT UNSIGNED
);
INSERT INTO planets (sample_count) VALUES (3000000000);
باختصار: ثلاثة مليارات تتجاوز مجال INT ذي الإشارة، لكنها تقع داخل مجال INT UNSIGNED.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.