شبكة تعلم مع ناو

ما قيمة العمود الجديد للصفوف القديمة عند إضافته مع DEFAULT؟

عند إضافة عمود عادي إلى جدول يحتوي على بيانات، يجب التفكير في القيم التي ستظهر للصفوف الموجودة بالفعل. إذا عرفنا العمود باستخدام قيمة افتراضية صريحة، فإن الصفوف القديمة تظهر بهذه القيمة في العمود الجديد. لا تقتصر فائدة التعريف في هذه الحالة على الصفوف التي ستضاف لاحقًا.

على سبيل المثال، يمكن إضافة عدد النسخ إلى جدول كتب قائم مع افتراض نسخة واحدة لكل كتاب. عند قراءة البيانات بعد التعديل، يظهر العدد واحدًا للكتب السابقة. أما تغيير القيمة الافتراضية لعمود موجود لاحقًا فهو عملية مختلفة، ولا يعيد كتابة القيم المخزنة فيه تلقائيًا. هذا الفرق مهم عند تجهيز تحديثات بنية قاعدة البيانات.

مثال

ALTER TABLE books
ADD COLUMN copies INT NOT NULL DEFAULT 1;

وجود NOT NULL يوضح أن العمود لا يقبل القيم المفقودة، وتوفر القيمة الافتراضية معنى واضحًا للصفوف السابقة. اختر قيمة تعكس حاجة التطبيق، لا مجرد رقم يسمح بإتمام التعديل.

باختصار: عند إضافة هذا العمود، تقرأ الصفوف القديمة بقيمة 1 في الحقل الجديد.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.