Rumah  >  Soal Jawab  >  teks badan

Pertanyaan MYSQL untuk menyalin semua data dalam lajur dari satu pangkalan data ke pangkalan data yang lain

Saya secara tidak sengaja menggunakan ciri "Jana Perihalan" pada alat SEO Opencart dan ia menimpa semua penerangan produk saya dengan tajuk produk.

Saya mempunyai lebih 600 produk dan memang susah untuk membuat semula kesemuanya.

Saya mempunyai sandaran MYSQL dari 2 bulan lalu yang mengandungi kebanyakan produk kecuali kira-kira 20 yang telah ditambahkan kemudian.

Saya telah mengimport sandaran lama ke dalam pangkalan data yang baru dibuat, apakah pertanyaan yang boleh saya jalankan untuk menyalin dan menulis ganti semua data lajur penerangan daripada jadual sandaran ke dalam jadual semasa?

Mereka terletak di pangkalan data.oc_product_description.description

Sebarang bantuan amatlah dihargai. Ini membuatkan saya gila

P粉005417748P粉005417748183 hari yang lalu395

membalas semua(1)saya akan balas

  • P粉476475551

    P粉4764755512024-04-01 10:42:18

    Jika kedua-dua skema berada dalam contoh MySQL yang sama, sila gunakan pernyataan REPLACE INTO (buat sandaran sebelum operasi)

    lama bermaksud: pangkalan data yang dipulihkan Pangkalan data bermaksud: pangkalan data semasa

    REPLACE INTO database.oc_product_description 
     SELECT * FROM old.oc_product_description

    Pernyataan ini akan menggantikan data dengan kunci utama

    Jika anda tidak mahu menyalin keseluruhan jadual, kemudian lakukan kemas kini dan salin data dari jadual lama ke pangkalan data (lajur product_id dan language_id adalah kunci utama)

    UPDATE database.oc_product_description AS pd1
     INNER JOIN old.oc_product_description AS pd2 ON pd2.product_id = pd1.product_id 
                                                 AND pd2.language_id = pd1.language_id
      SET pd1.description = pd2.description

    balas
    0
  • Batalbalas