AzLearn

UPDATE

UPDATE

مفهوم ~17 دقيقة

UPDATE

UPDATE يغير صفوفاً موجودة. الخطر الأكبر هو نسيان WHERE. UPDATE products SET active = 0; يغير كل المنتجات. لذلك في العمل الحقيقي، اكتب SELECT بنفس الشرط أولاً لترى الصفوف المستهدفة، ثم نفذ UPDATE.

اجعل الشرط يعتمد على مفتاح واضح مثل id أو sku، لا على نص قد يتكرر إلا إذا كان ذلك مقصوداً. وداخل transaction، يمكنك التراجع إذا اكتشفت خطأ قبل commit.

مثال عملي

query.sql

التعديل استهدف id واحداً فقط. هذا هو السلوك المتوقع في معظم عمليات الإدارة.

قاعدة ذهبية

لا تنفذ UPDATE واسعاً قبل أن تعرف عدد الصفوف المتوقع. بعض الأدوات تعرض عدد الصفوف المتأثرة؛ اقرأه.

RETURNING — اعرف ما عُدِّل

SQLite (3.35+) وPostgreSQL يدعمان RETURNING لاسترداد بيانات الصف بعد التعديل دون استعلام إضافي:

UPDATE products
SET active = 0
WHERE id = 2
RETURNING id, name, active;

مفيد في التطبيقات لتأكيد أن التعديل أثّر على الصف الصحيح. MySQL لا يدعم RETURNING.

تحدي — Challenge