mysql - 如何合并两个结构相同但数据不同的数据库

标签 mysql database phpmyadmin

我正在使用 phpmyadmin,我必须合并两个具有相同结构但不同数据的数据库。

数据库在表之间有关系(外键)。 两个数据库中的数据可能具有相同的 id,因此它们的外键也相同。

我想知道是否可以合并两个数据库以保留所有数据,因此,如果一行已经“存在”,请使用新的 id 插入它并更新其外键。

非常感谢

最佳答案

不幸的是,没有简单的方法。如果您将 TableA 作为 TableB 的外键,则需要

1) 将源表A中的数据插入到目标表A中 2)创建一个(临时)表来存储源tableA id和目标tableA id之间的映射 3)从tableB插入数据时使用此映射表将tableA id转换为目标数据库中的新id

...等等。如果您的表层次结构很深,那么它可能会变得非常复杂,但希望您能明白这一点。在开始之前进行备份。

关于mysql - 如何合并两个结构相同但数据不同的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40782445/

相关文章:

asp.net - ASP.NET web 服务的大型静态数据?

python - 在 Python 与 MATLAB 中连接到 JDBC 数据库

php - 使用Codeigniter尝试从数据库显示图像时出现错误消息

mysql - `INSERT INTO` 查询不工作

php - 使用php在数据库mysql中上传图像

php - 通过 $stmt->bind_param 在 sql 中插入多行

mysql - 留言讨论查询

MYSQL BLOB 与带有搜索查询的 TEXT 字段

phpmyadmin无法导出程序

Mysql查询在不同表中搜索同一列