如何创建可以将数据库迁移到另一个规范化数据库的脚本

时间:2019-04-26 07:11:26

标签: mysql database database-migration

我有一个拥有数十万个数据的现有系统。我需要将其迁移到另一个数据库,但结构不同。我该如何创建将数据库迁移到其他结构的脚本。

我尝试了csv,但是我需要对外键添加一些列,因为新数据库已进行了标准化

示例

enter image description here

1 个答案:

答案 0 :(得分:1)

这是纯MySQL中的解决方案。考虑到您评论了以下内容:“新数据库中的类别已设置” 。您可以像这样进行insert-select

INSERT INTO database2.products (id, category_id, name)
SELECT p.id, 
       (SELECT c.id FROM database2.categories AS c WHERE p.category = c.category),
       p.name
FROM database1.products as p

特殊技巧是在子查询中比较类别字段。

警告:未经测试的查询。先备份!