将mysql数据库A的模式应用到具有不同数据的数据库B

问题描述

假设在数据库 A 中,我们有

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,firstname VARCHAR(30) NOT NULL,lastname VARCHAR(30) NOT NULL,email VARCHAR(50) default '[email protected]',reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

在数据库 B 中,我们有

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,phone VARCHAR(20) default '+00000000',reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) 

假设数据库 A 和 B 的记录由两个不同的团队管理,它们非常不同。

我不想将数据库B的数据应用到数据库A中,但我想将数据库B的模式应用到数据库A中。

如果我手动编写代码,我会这样做

ALTER TABLE MyGuests ADD phone VARCHAR(20) default '+00000000';
ALTER TABLE MyGuests DROP COLUMN email;

当然我会丢失一些数据,但没关系。

假设我的数据库太大,我无法手动完成。有什么方法/工具可以为它提供 SQL 定义,并为我提供将一种模式转换为另一种模式所需的查询?

即使我可以为一张桌子做,也没关系,因为我可以一张一张地重复所有桌子。

我的工具是 mysql 作为数据库引擎,HeidieSQL 作为 GUI。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)