假设我有两个具有一些复杂表结构的MySQL数据库。两个数据库都没有相同的表名。让我们说这些表不包含任何行(它们可以但我可以截断表,数据现在不重要,只是测试东西)。让我们说我需要将这两个数据库合并为一个。例如:
DB1:
城市 状态
DB2:
索引 分类指数 讯息
我希望最终得到一个包含以下内容的数据库:
城市 状态 指数 分类指数 讯息
这可能吗?
答案 0 :(得分:2)
您可以在其中一个数据库的所有表中使用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;
提供没有重复。
答案 1 :(得分:0)
您使用的是哪个存储引擎?
如果使用myISAM,您是否尝试将表示表(* .frm,* .myd,*。myi)的3个文件从一个DB目录(在mysql / data / db1下)复制到另一个(在mysql / data下) / DB2)?
答案 2 :(得分:0)
如果你有mySQL管理员甚至是phpmyadmin,这应该是非常简单的。
使用脱机使用数据库的任何应用程序(以确保没有任何更改),使用众多导出选项之一编写数据库并确保编写脚本数据,模式和任何其他属性,但不编写任何DATABASE CREATE语句。
在第二个数据库上运行脚本。
注意:只有在100%确定两个数据库都没有架构重叠时才能运行此选项!!!!
答案 3 :(得分:0)
是的,我认为这是可能的。您需要做的就是将2个表导出到sql脚本,用另一个表替换一个表名;附加脚本并运行一次