Maison  >  Questions et réponses  >  le corps du texte

Requête MYSQL pour copier toutes les données d'une colonne d'une base de données à une autre

J'ai accidentellement utilisé la fonctionnalité « Générer une description » sur l'outil de référencement Opencart et elle a écrasé toutes mes descriptions de produits par des titres de produits.

J'ai plus de 600 produits et ce serait pénible de tous les refaire.

J'ai une sauvegarde MYSQL d'il y a 2 mois qui contient la plupart des produits sauf une vingtaine qui ont été ajoutés plus tard.

J'ai importé une ancienne sauvegarde dans une base de données nouvellement créée, quelle requête puis-je exécuter pour copier et écraser toutes les données de la colonne de description de la table de sauvegarde dans la table actuelle ?

Ils se trouvent sur database.oc_product_description.description

Toute aide est grandement appréciée. Cela me rend fou

P粉005417748P粉005417748183 Il y a quelques jours398

répondre à tous(1)je répondrai

  • P粉476475551

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

    Si les deux schémas sont dans la même instance MySQL, veuillez utiliser l'instruction REPLACE INTO (faire une sauvegarde avant l'opération)

    old signifie : base de données restaurée Base de données signifie : base de données actuelle

    REPLACE INTO database.oc_product_description 
     SELECT * FROM old.oc_product_description

    Cette instruction remplacera les données par la clé primaire

    Si vous ne souhaitez pas copier la table entière, effectuez une mise à jour et copiez les données de l'ancienne table vers la base de données (les colonnes product_id et language_id sont des clés primaires)

    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

    répondre
    0
  • Annulerrépondre