在表的特定位置添加列。 MySQL的

时间:2015-09-13 05:05:49

标签: mysql sql

我有一张表AA,它的定义是:

CREATE TABLE `AA` (
   `a` int(11) NOT NULL,
   `b` int(11) NOT NULL,
   `c` int(11) NOT NULL,
   PRIMARY KEY  (`a`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1

我想在表中添加一列但是我希望这个列在b和`c之间,如果我现在要创建表,那就像是:

CREATE TABLE `AA` (
   `a` int(11) NOT NULL,
   `b` int(11) NOT NULL,
   `ba` int(11) NOT NULL,
   `c` int(11) NOT NULL,
   PRIMARY KEY  (`a`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1

问题是该表已包含数据,因此我无法删除并重新创建它。当我使用alter table add column时,它会将列添加到结尾。

如何在特定位置插入新列?

3 个答案:

答案 0 :(得分:4)

您可以使用AFTER。有关详细信息,请参阅mysql ALTER TABLE语法

ALTER TABLE AA ADD COLUMN c int AFTER b

如果您想在开头添加它,可以使用FIRST

答案 1 :(得分:0)

使用 alter table

轻松完成
ALTER table table_name
    Add column columnName integer AFTER columnOtherName

答案 2 :(得分:0)

No package php available