it-swarm.asia

mysqldump مع ادراج ... مكررة

أريد دمج البيانات من قاعدة بيانات إلى أخرى. لذلك أقوم بإنشاء تفريغ باستخدام mysqldump ثم استورده إلى قاعدة بيانات أخرى (بنفس بنية الجداول). ليس لدي أي مشاكل (مثل الإدخالات المتكررة أو أي شيء آخر) في هذه الحالة.

لكنني أقوم ببعض عمليات الدمج لأغراض الاختبار وسأجري الدمج النهائي لاحقًا. لذا ، أريد تنفيذ الدمج (قد يتم تغيير البيانات) عدة مرات. لاحظ أن صفوفي في الجداول الخاصة بي لا تحذف أبدًا ، فقط يمكن إدراجها أو تحديثها.

هل يمكنني إنشاء mysqldump مع خيار ON DUPLICATE؟ أو ربما يمكنني دمج تفريغ إدراج بيانات جديدة وتحديث البيانات المعدلة؟

بالتأكيد ، يمكنني إدراج ON DUPLICATE في التفريغ يدويًا ، ولكن أريد أتمتة عملية الدمج.

22
Xupypr MV

هناك خيارات لمساعدتك في هذا:

  --insert-ignore     Insert rows with INSERT IGNORE.
  --replace           Use REPLACE INTO instead of INSERT INTO.
  -t, --no-create-info
                      Don't write table creation info.

ضع هذا النموذج في الاعتبار

  • mysqldump كل شيء من DB1 إلى DUMP1
  • تحميل DUMP1 في DB3
  • mysqldump كل شيء من DB2 باستخدام --replace (أو - insert-ignore) و - no-create-info في DUMP2
  • تحميل DUMP2 في DB3
37
RolandoMySQLDBA