"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني نسخ البيانات بشكل انتقائي بين جداول MySQL باستخدام INSERT INTO...SELECT؟

كيف يمكنني نسخ البيانات بشكل انتقائي بين جداول MySQL باستخدام INSERT INTO...SELECT؟

تم النشر بتاريخ 2024-11-25
تصفح:566

How Can I Selectively Copy Data Between MySQL Tables Using INSERT INTO...SELECT?

نسخ البيانات بين جداول MySQL مع تحديد الحقول المخصصة

في مجال إدارة قواعد البيانات، يعد نقل البيانات بكفاءة بين الجداول مهمة شائعة. يوفر MySQL عدة طرق لتحقيق ذلك، بما في ذلك عبارة INSERT INTO...SELECT.

فكر في سيناريو حيث يكون لديك جدولي MySQL، الجدول 1 (الجدول الموجود) والجدول 2 (الجدول الجديد). ترغب في نسخ حقول معينة بشكل انتقائي من الجدول 1 إلى الجدول 2، بناءً على المعايير التالية:

  • الجدول 1: يحتوي على أعمدة مثل المساعدات، وst_id، from_uid، والرسالة .
  • الجدول 2: يحتوي على أعمدة مثل st_id، uid، تم التغيير، الحالة، و sign_status.

استخدام استعلامات MySQL لنسخ البيانات الانتقائية:

لتحقيق هدفك، يمكنك استخدام استعلام MySQL التالي:

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;

ينجز هذا الاستعلام ما يلي:

  1. إدراج البيانات في الجدول 2، بما في ذلك الأعمدة التالية:

      st_id
    • تم تغيير
    • uid
    • (تم ضبطه على الطابع الزمني الحالي باستخدام NOW()) وظيفة)
    • الحالة (تم ضبطها على "معلق")
    • تعيين_حالة (تم ضبطها على "تعيين")
  2. تحديد البيانات من الجدول 1 ، مطابقة الأعمدة في عبارة INSERT. على وجه التحديد، فإنه يحدد:

      st_id
    • from_uid
  3. إذا كنت ترغب في نسخ جميع الصفوف من الجدول 1، يمكنك حذف جملة WHERE. ومع ذلك، إذا كنت تريد قصر النسخة على مجموعة فرعية معينة من الصفوف، فيمكنك إضافة جملة WHERE بالشروط المطلوبة.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3