انتقل إلى محتوى الدرس

MySQL 8 Row Alias Upsert الاسم المستعار للصف في Upsert

تعلّم معالجة تعارض المفاتيح المكررة عبر INSERT IGNORE و Upsert بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

عند تنفيذ عملية Upsert لعدة صفوف دفعةً واحدة، تحتاج إلى الإشارة للقيم الجديدة المقترحة لكل صف داخل جملة التحديث. وبدءاً من إصدار MySQL 8.0.19+، اعتُمدت صيغة الاسم المستعار للصف (مثل AS incoming) بعد قائمة VALUES بدلاً من الدالة القديمة VALUES(col):

SQL
INSERT INTO inventory_counters (sku_code, stock_qty)
VALUES
    ('KB-800', 30),
    ('MN-4K', 15) AS incoming
ON DUPLICATE KEY UPDATE
    stock_qty = inventory_counters.stock_qty + incoming.stock_qty,
    sync_runs = inventory_counters.sync_runs + 1;