我有一张表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
时,它会将列添加到结尾。
如何在特定位置插入新列?
答案 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