首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql更改表错误消息

Mysql更改表错误消息
EN

Stack Overflow用户
提问于 2015-09-09 21:13:21
回答 2查看 139关注 0票数 0

我试图修改MySQL表以将列添加到现有列的末尾。但出于某些原因,MySQL不喜欢我正在运行的查询。

下面是我的问题。

代码语言:javascript
复制
alter table hdds add 
hdd1 VARCHAR(100), 
hdd2 VARCHAR(100), 
hdd3 VARCHAR(100), 
hdd4 VARCHAR(100), 
hdd5 VARCHAR(50), 
hdd6 VARCHAR(100), 
hdd6 VARCHAR(100), 
hdd7 VARCHAR(100), 
hdd8 VARCHAR(100), 
hdd9 VARCHAR(100), 
hdd10 VARCHAR(100), 
hdd11 VARCHAR(100), 
hdd12 VARCHAR(100), 
hdd13 VARCHAR(100), 
hdd14 VARCHAR(100), 
hdd15 VARCHAR(100), 
hdd16 VARCHAR(100), 
hdd17 VARCHAR(100), 
hdd18 VARCHAR(100), 
hdd19 VARCHAR(100),
after comments;

我收到以下错误消息。

代码语言:javascript
复制
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hdd2 VARCHAR(100), 
    hdd3 VARCHAR(100), 
    hdd4 VARCHAR(100), 
    hdd5 ' at line 3 

不知道我哪里出了问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-09 21:24:08

就像一种魅力:

代码语言:javascript
复制
create table t111
(   id int auto_increment primary key,
    comments varchar(1000) not null
);

alter table t111
add column hdd19 VARCHAR(100) after comments, 
add column hdd18 VARCHAR(100) after comments, 
add column hdd17 VARCHAR(100) after comments, 
add column hdd16 VARCHAR(100) after comments, 
add column hdd15 VARCHAR(50) after comments, 
add column hdd14 VARCHAR(100) after comments, 
add column hdd13 VARCHAR(100) after comments, 
add column hdd12 VARCHAR(100) after comments, 
add column hdd11 VARCHAR(100) after comments, 
add column hdd10 VARCHAR(100) after comments, 
add column hdd9 VARCHAR(100) after comments, 
add column hdd8 VARCHAR(100) after comments, 
add column hdd7 VARCHAR(100) after comments, 
add column hdd6 VARCHAR(100) after comments, 
add column hdd5 VARCHAR(100) after comments, 
add column hdd4 VARCHAR(100) after comments, 
add column hdd3 VARCHAR(100) after comments, 
add column hdd2 VARCHAR(100) after comments, 
add column hdd1 VARCHAR(100) after comments;

describe t111;

另外,您还有一个错误,尝试添加两次hdd6。

编辑:

我将列的顺序从19转到1,所以它们都是在comments将它们冒泡后排列起来的(如describe t111;中所示)。

在我看来,您有两个选择,可以在comments之后从1到19直观地排列顺序。

1.你可以像我那样做,首先是19条评论,然后是18条评论(下面推19条),然后17条评论推低18条和19条.在评论之后推2到19条。

2.您可以执行1到19的操作,并且必须在“注释部分”中单独修改after comments块,其内容如下:创建表t111 ( id int auto_increment主键,注释varchar(1000) null );

代码语言:javascript
复制
alter table t11
add column hdd1 VARCHAR(100) after comments, 
add column hdd2 VARCHAR(100) after hdd1, 
add column hdd3 VARCHAR(100) after hdd2,
...
add column hdd19 VARCHAR(100) after hdd18;

我选择了1.,也许不是最好和最快的选择,但它满足了我对泡泡式好奇心的渴望。

所有这一切都取决于任何关心他们长相的人,但在你的情况下,这可能是应该的,因为你有这么多而且容易出错。

票数 1
EN

Stack Overflow用户

发布于 2015-09-09 21:15:47

不,不能在单个ALTER语句中添加这样的多个列。这是错误的,因为它与CREATE语句不一样,因此您收到的错误。您必须将其单独的ALTER语句设置为

代码语言:javascript
复制
alter table hdds add hdd1 VARCHAR(100) after comments;
alter table hdds add hdd2 VARCHAR(100) after comments;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32489257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档