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

هل يغير ALTER COLUMN SET DEFAULT القيم الموجودة في الجدول؟

يغير الأمر ALTER COLUMN SET DEFAULT القيمة الافتراضية المعرفة للعمود، لكنه لا يعيد كتابة القيم الموجودة في الصفوف السابقة. تستخدم القيمة الجديدة عند الحاجة إلى القيمة الافتراضية في عمليات لاحقة، مثل إدراج صف دون تحديد ذلك العمود. ولهذا يجب فصل تعديل تعريف العمود عن تعديل محتواه.

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

مثال

ALTER TABLE tasks
ALTER COLUMN status SET DEFAULT 'new';

لا يتطلب هذا التعديل إعادة كتابة نوع العمود كما يحدث مع MODIFY. وهو مناسب عندما تتغير قاعدة إنشاء السجلات الجديدة دون وجود سبب لتغيير الحالات المسجلة بالفعل في البيانات القديمة.

باختصار: تغيير DEFAULT يغير التعريف المستخدم لاحقًا، ولا يحدث الصفوف القديمة تلقائيًا.

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

اختبر نفسك

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