في أمر UPDATE الذي يعدل جدولًا واحدًا، يقيم MySQL تعيينات الأعمدة عادة من اليسار إلى اليمين. لذلك قد يقرأ تعيين لاحق قيمة عمود بعد تعديلها في تعيين سابق داخل الأمر نفسه. لا يصح افتراض أن جميع التعبيرات تعتمد دائمًا على نسخة ثابتة من الصف قبل بدء التعديل.
تظهر هذه النقطة في العمليات الحسابية المتتابعة. إذا زدنا قيمة الراتب أولًا، ثم نسخنا الراتب إلى عمود آخر، فإن النسخ يستخدم القيمة المعدلة في المثال المباشر. كما أن محاولة تبديل عمودين بتعيين أحدهما للآخر ثم العكس لا تحقق التبديل المتوقع بهذه الصيغة في تحديث جدول واحد.
مثال
UPDATE employees
SET salary = salary + 100,
recorded_salary = salary
WHERE id = 1;
ينبغي قراءة التعيينات بالتسلسل لفهم النتيجة هنا. ولا تعمم قاعدة ترتيب التعيينات على تحديثات الجداول المتعددة، لأن ضمانات الترتيب تختلف في تلك الصيغ.
باختصار: قد يستخدم التعيين اللاحق قيمة عدلها تعيين سابق داخل UPDATE لجدول واحد.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.