为列生成alter语法

时间:2017-05-22 09:15:31

标签: php mysql create-table alter describe

我找到了一种方法,可以在两个数据库之间找到丢失的表,并从交叉表中删除缺少的列。我可以得到"创造"丢失表的语法,但我如何生成" 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"到第二个数据库的表?

1 个答案:

答案 0 :(得分:1)

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

show columns from users

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

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

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