شرح صفوف ومحتوى الفقرة
يقارن الجدول الشامل التالي بين آليات التعامل مع تعارض المفاتيح المكررة في MySQL 8:
| الأمر | الإجراء عند تكرار المفتاح | هل يحفظ الأعمدة غير المذكورة؟ | الحالة الهندسية الموصى بها |
|---|---|---|---|
INSERT INTO | يُجهض العملية بالخطأ 1062 | نعم (لا يتم التعديل) | العمليات الصارمة التي يُعد فيها التكرار خطأً برمجياً |
INSERT IGNORE | يتخطى الصف المتعارض مع تحذير | نعم (يبقى السجل القديم كما هو) | استيراد الدفعات مع تخطي السجلات المسجلة مسبقاً |
ON DUPLICATE KEY UPDATE | يحدّث الأعمدة المحددة في مكانها | نعم (يعدّل الأعمدة المستهدفة فقط) | التحديث الموضعي الآمن وعدادات المخزون والمزامنة |
REPLACE INTO | يحذف الصف القديم ويدرج الجديد | لا (تعود إلى DEFAULT) | استبدال جداول التخزين المؤقت غير المرتبطة بمفاتيح أجنبية |
ملخص الدرس: أتقنت في هذا الدرس معالجة تعارضات المفاتيح الفريدة عبر INSERT IGNORE، والتحديث الموضعي الذري عبر ON DUPLICATE KEY UPDATE مع الاسم المستعار للصف (AS incoming) في MySQL 8، والفرق الجوهري بينه وبين REPLACE INTO.
الخطوة التالية والدرس القادم: انتقل الآن إلى درس «استعلام البيانات بأمر SELECT والأسماء المستعارة و DISTINCT» لاسترجاع وعرض السجلات باحترافية.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
اعتمد دائماً صياغة INSERT ... AS incoming ON DUPLICATE KEY UPDATE للتحديث الموضعي الآمن في MySQL 8. الخطوة التالية: انتقل إلى درس «استعلام البيانات بأمر SELECT والأسماء المستعارة و DISTINCT».