MySQL 将两个不同数据库的数据导入到一个数据库或合并两个数据库数据

标签 mysql

我有两个数据库,我需要将这两个数据库合并到一个数据库中。例如

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/

相关文章:

php - 根据下拉列表和表格选择数据

php如何复制数组中的值(多维)

php - Mysql查询前3名客户

sql - 如何根据其他行中的值选择行

mysql - 表未更新。无法在 FROM 子句中指定更新目标表 'nodeassociation'

MySQL:如何在某些条件下选择特定时间范围之间的最大/最小时间数据?

mysql - SORM 与 MySQL 空闲连接

mysql - 外部和内部 SQL 连接

mysql - XAMPP 中是否有 MariaDB 或 MySQL?

mysql - 帐单地址 WooCommerce 数据库表