问题描述
假设在数据库 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 (将#修改为@)