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

MYSQL Query to copy all data in a column from one database to another

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

我有 600 多种产品,再次 re-do 会很痛苦。

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

我已经将旧备份导入到新创建的数据库中,我可以运行 将所有描述列数据从备份table复制并覆盖到我当前的table ]?

它们位于 database.oc_product_description.description

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

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

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

REPLACE INTO database.oc_product_description 
 SELECT * FROM old.oc_product_description

这条语句将通过主键替换数据

如果您不想复制整个 table,则进行更新并将数据从旧的复制到数据库(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