يحدد أمر UPDATE القيم الجديدة التي نريد تخزينها في جدول، بينما يحدد شرط WHERE الصفوف التي يشملها التعديل. عندما نحذف الشرط، يصبح نطاق الأمر جميع صفوف الجدول. لا يختار MySQL الصف الأول تلقائيًا، ولا يعتبر غياب الشرط خطأ نحويًا في إعدادات الخادم الافتراضية.
قد يكون هذا السلوك مقصودًا، مثل إعادة حالة جميع المهام إلى قيمة ابتدائية. لكنه قد يؤدي إلى تعديل واسع إذا كان المطلوب تغيير مهمة واحدة فقط. لذلك يجب قراءة الأمر بوصفه جزأين: ما القيمة التي ستتغير، وما الصفوف التي ستتلقى هذه القيمة. وجود اسم عمود داخل SET لا يحد عدد الصفوف المستهدفة.
مثال
UPDATE tasks
SET status = 'pending';
يضبط المثال حالة كل مهمة على القيمة المحددة، مع بقاء الأعمدة الأخرى كما هي. قبل تنفيذ تعديل واسع، افحص نطاقه وتأكد من أن غياب الشرط مقصود فعلًا.
باختصار: تنفيذ UPDATE دون WHERE يستهدف جميع الصفوف، وليس صفًا واحدًا.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.