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
列实际上应该是您想要附加到表格的第一列。
例如:如果你想添加count
, log
, status
在lastname
后的顺序,那么语法实际上是:
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