假设我有两个MySQL数据库,其中包含一些复杂的表结构。这两个数据库都没有相同的表名。假设这些表不包含行(它们包含,但我可以截断这些表,数据现在并不重要,只是测试内容)。假设我需要将这两个数据库合并为一个数据库。例如:
DB1:
城市和州
DB2:
索引子索引帖子
我想最终得到一个包含以下内容的数据库:
城市州索引分类索引帖子
这个是可能的吗?
发布于 2011-01-04 09:26:00
您可以对其中一个数据库中的所有表使用RENAME TABLE。
请参阅:http://dev.mysql.com/doc/refman/5.0/en/rename-table.html
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;如果没有重复的话。
发布于 2011-01-04 09:28:53
您使用的是哪种存储引擎?
如果使用myISAM,您是否尝试过将表示表的3个文件(*.frm、*.myd、*.myi)从一个DB目录(位于mysql/data/db1下)复制到另一个(位于mysql/data/db2下)?
发布于 2011-01-04 09:32:10
如果你有mySQL管理员,或者甚至是phpmyadmin,这应该是非常简单的。
让任何使用数据库的应用程序离线(以确保没有任何更改),使用许多导出选项之一编写数据库脚本,并确保您编写了数据、模式和任何其他属性的脚本,而不是任何数据库CREATE语句。
在第二个数据库上运行该脚本。
注意:只有当您100%确定两个数据库上没有架构重叠时,才应运行此选项!
https://stackoverflow.com/questions/4589906
复制相似问题