我有两个具有相同模式的数据库。一个是服务于生产/营销目的的主数据库(可能是95%的选择),另一个是“从属数据库”,为特定微站点的订单、客户等运行选择/插入。
分离的原因是不是所有的微型网站都会运行相同的产品/特价/优惠券等,API正在工作中,但它不会在一段时间内完成。
我需要将数据从从/微站点数据库移动到主数据库,并维护键关联。
示例:主数据库有订单#1和#2 (假设在orders.id上),我的微型站点数据库上有几个新订单,我希望将它们迁移到主数据库,以便生产/制造部门可以开始处理这些订单。
如何以最简单的方式移动数据以避免冲突/重复的键?
耽误您时间,实在对不起。
发布于 2010-10-05 04:50:57
您可以在复制过程中临时disable foreign key checks。
或者,您是否需要在保留所有约束的同时复制它们?
发布于 2010-10-05 05:08:51
如果您有两个数据库,并且(自动增量)主键不应重叠,则最简单的方法是设置auto_increment_increment & auto_increment_offset。
师父:
auto_increment_increment = 2
autoincrement-offset = 1复制待合并:
auto_increment_increment = 2
auto_increment_offset = 2现在,所有带有自动增量键的“新”插入的记录都将保证不会重叠。将数据从一个数据库复制到另一个数据库(即:使用已定义的键/id)只需插入该id,就可以轻松地将订单等“独立”数据复制到另一个数据库。但是,如果您使用相同的主键更改数据(从主键复制product#1到复制,在复制时更改product#1,然后尝试将product#1作为一个截然不同的产品复制回主键),那么您必须编写一个适度软化的导入脚本,它知道所有关于您的主键和关系的信息,并重新分配它们。也许你不需要太多的脚本就可以做到这一点,如果它是一个服务器上的大约2个数据库,使用精心制作的临时表等,但没有‘火和忘记’的方法,我知道。
https://stackoverflow.com/questions/3858881
复制相似问题