我有两个数据库,我需要将这两个数据库合并到一个数据库中。例如
let_client1
(与let_client2数据库相同的字段和表号)
let_client2
我在两个数据库中都有 99 个表,在两个数据库中都有 5 个 View 。
有很多索引、主键和外键关系,所以我如何将这两个数据库合并到一个数据库中。 Mysql中有没有最好的方法?
最佳答案
作为起点,您可以使用 insert into select 语句,如下所示:
INSERT INTO let_client1.table1 (field1, field2, etc)
SELECT field1, field2, etc
FROM let_client2.table1
这会将 let_client2.table1 中的数据合并到 let_client1.table1 中,但要注意主键违规和外键限制,因此您需要首先对具有依赖项的表执行此操作。
如果您想要一个纯粹自动的解决方案,我建议使用游标来选择表并将其名称传递到执行合并的过程中,但您很容易遇到我上面刚刚描述的问题。 http://dev.mysql.com/doc/refman/5.7/en/cursors.html
至于索引,如果需要转移,这里有一个相关问题已经有答案:MySql, how can I export indexes from my development database to my production database?
关于MySQL 将两个不同数据库的数据导入到一个数据库或合并两个数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41242606/