我找到了一种方法,可以在两个数据库之间找到丢失的表,并从交叉表中删除缺少的列。我可以得到"创造"丢失表的语法,但我如何生成" alter"缺少列的语法?
列中是否有类似SHOW CREATE TABLE $table
的内容?
@Edit
我明白了:
CREATE TABLE `table` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(225) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
SHOW CREATE TABLE $table
- >我弄清楚了第二个数据库"表"错过"名称"柱。我如何解析" (?)这个创建生成alter来添加列" name"到第二个数据库的表?
答案 0 :(得分:1)
如果您想要单个列,请使用(将用户更改为您的表名)
show columns from users
如果在两个表上都这样做,您可以检查差异。这可能包括如果定义已更改,则必须更改列。 要添加新列,请使用类似
的内容alter table users add column email varchar(255) after name
后一位允许您将新列放在与其他表中相同的位置(使其在查询工具中看起来一致)。