首页  >  问答  >  正文

MYSQL 查询将列中的所有数据从一个数据库复制到另一个数据库

我不小心使用了 Opencart SEO 工具上的“生成描述”功能,它用产品标题覆盖了我的所有产品描述。

我有超过 600 种产品,重新全部重新制作会很痛苦。

我有一个 2 个月前的 MYSQL 备份,其中包含大部分产品,除了大约 20 个是之后添加的。

我已将旧备份导入到新创建的数据库中,我可以运行什么查询来将备份表中的所有描述列数据复制并覆盖到当前表中?

它们位于database.oc_product_description.description

非常感谢任何帮助。这让我发疯

P粉005417748P粉005417748219 天前473

全部回复(1)我来回复

  • P粉476475551

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

    如果两个模式位于同一个 MySQL 实例中,请使用 REPLACE INTO 语句(操作前进行备份)

    表示:恢复的数据库 数据库表示:当前数据库

    REPLACE INTO database.oc_product_description 
     SELECT * FROM old.oc_product_description

    该语句将用主键替换数据

    如果您不想复制整个表,则进行更新并将数据从旧表复制到数据库(product_id 和 language_id 列是主键)

    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

    回复
    0
  • 取消回复