1

我找到了一种方法来查找两个数据库之间的缺失表,以及相交表中缺失的列。我可以获得缺失表的“create”语法,但是如何为缺失的列生成“alter”语法?
有类似SHOW CREATE TABLE $tablefor column 的东西吗?
@编辑
我得到:

CREATE TABLE `table` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(225) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
)

经过SHOW CREATE TABLE $table

-> 我发现第二个数据库的“表”缺少“名称”列。如何“解析”(?)此创建以生成更改以将列“名称”添加到第二个数据库的表?

4

1 回答 1

1

如果您想要单独的列,请使用(将用户更改为您的表名)

show columns from users

如果在两个表上都这样做,您可以检查差异。这可能包括如果定义已更改,则必须更改列。要添加新列,请使用类似

alter table users add column email varchar(255) after name

after 位允许您将新列放置在与其他表相同的位置(使其在查询工具中看起来一致)。

于 2017-05-22T09:33:14.603 回答