alter table在column1之后添加MULTIPLE列

我需要将多列添加到表中,但将列放在名为lastname的列之后。

我试过这个:

ALTER TABLE `users` ADD COLUMN
(
    `count` smallint(6) NOT NULL,
    `log` varchar(12) NOT NULL,
    `status` int(10) unsigned NOT NULL
) 
AFTER `lastname`;

我得到这个错误:

你的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册,以获得在第7行''AFTER lastname ''附近使用的正确语法

我如何在这样的查询中使用AFTER?


尝试这个

ALTER TABLE users
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;

检查语法


如果你想在特定字段后添加单列,那么mysql查询是:

ALTER TABLE users
    ADD COLUMN count SMALLINT(6) NOT NULL
    AFTER lastname

如果你想添加多列,那么你需要每次使用'ADD'命令来查看列。 mysql的查询如下所示:

ALTER TABLE users
    ADD COLUMN count SMALLINT(6) NOT NULL,
    ADD COLUMN log VARCHAR(12) NOT NULL,
    ADD COLUMN status INT(10) UNSIGNED NOT NULL
    AFTER lastname

注意点 :在第二种方法中,最后一个ADD COLUMN 实际上应该是您想要附加到表格的第一列。

例如:如果你想添加countlogstatuslastname后的顺序,那么语法实际上是:

ALTER TABLE users
    ADD COLUMN log VARCHAR(12) NOT NULL,
    ADD COLUMN status INT(10) UNSIGNED NOT NULL,
    ADD COLUMN count SMALLINT(6) NOT NULL
    AFTER lastname

这是正确的:

ALTER TABLE `users`
    ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
    ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
    ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;
链接地址: http://www.djcxy.com/p/68635.html

上一篇: alter table add MULTIPLE columns AFTER column1

下一篇: Storing JSON in database vs. having a new column for each key