首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中相同的数据库模式之间移动数据

在MySQL中相同的数据库模式之间移动数据
EN

Stack Overflow用户
提问于 2010-10-05 04:31:33
回答 2查看 301关注 0票数 0

我有两个具有相同模式的数据库。一个是服务于生产/营销目的的主数据库(可能是95%的选择),另一个是“从属数据库”,为特定微站点的订单、客户等运行选择/插入。

分离的原因是不是所有的微型网站都会运行相同的产品/特价/优惠券等,API正在工作中,但它不会在一段时间内完成。

我需要将数据从从/微站点数据库移动到主数据库,并维护键关联。

示例:主数据库有订单#1和#2 (假设在orders.id上),我的微型站点数据库上有几个新订单,我希望将它们迁移到主数据库,以便生产/制造部门可以开始处理这些订单。

如何以最简单的方式移动数据以避免冲突/重复的键?

耽误您时间,实在对不起。

EN

回答 2

Stack Overflow用户

发布于 2010-10-05 04:50:57

您可以在复制过程中临时disable foreign key checks

或者,您是否需要在保留所有约束的同时复制它们?

票数 0
EN

Stack Overflow用户

发布于 2010-10-05 05:08:51

如果您有两个数据库,并且(自动增量)主键不应重叠,则最简单的方法是设置auto_increment_increment & auto_increment_offset

师父:

代码语言:javascript
复制
auto_increment_increment = 2
autoincrement-offset = 1

复制待合并:

代码语言:javascript
复制
auto_increment_increment = 2
auto_increment_offset = 2

现在,所有带有自动增量键的“新”插入的记录都将保证不会重叠。将数据从一个数据库复制到另一个数据库(即:使用已定义的键/id)只需插入该id,就可以轻松地将订单等“独立”数据复制到另一个数据库。但是,如果您使用相同的主键更改数据(从主键复制product#1到复制,在复制时更改product#1,然后尝试将product#1作为一个截然不同的产品复制回主键),那么您必须编写一个适度软化的导入脚本,它知道所有关于您的主键和关系的信息,并重新分配它们。也许你不需要太多的脚本就可以做到这一点,如果它是一个服务器上的大约2个数据库,使用精心制作的临时表等,但没有‘火和忘记’的方法,我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3858881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档