在MySQL中,在特定列之后添加多个列

486

我需要给一个表格添加多列,但是要把这些列定位在名为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?


6
你说的是什么方言?看起来像是mysql。但ALTER TABLE语法在方言之间会有些不同。 - Damien_The_Unbeliever
1
我认为你需要在每个要添加的列上加上AFTER关键字。无论是需要所有3个列都放在lastname之后,还是每个新列都需要单独的ALTER TABLE语句,我不能确定。 - Zec
11个回答

-1

这对我来说很好用:

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';

2
抄袭评论以获取投票。朋友,不要这样做。 - MBouwman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接