首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多个列上更改表列数据类型?

问如何在多个列上更改表列数据类型?
EN

Stack Overflow用户
提问于 2010-09-23 04:45:51
回答 2查看 116.7K关注 0票数 70

例如:

代码语言:javascript
复制
ALTER TABLE webstore.Store MODIFY COLUMN (
  ShortName VARCHAR(100),
  UrlShort VARCHAR(100)
);

然而,上面的方法并不起作用。我使用的是MySql 5.x

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-23 04:47:48

ALTER TABLE可以在一条语句中执行多个表更改,但MODIFY COLUMN一次只能处理一列,因此您需要为要更改的每一列指定MODIFY COLUMN:

代码语言:javascript
复制
ALTER TABLE webstore.Store
  MODIFY COLUMN ShortName VARCHAR(100),
  MODIFY COLUMN UrlShort VARCHAR(100);

另外,请注意手册中的以下警告:

使用CHANGE或MODIFY时,column_definition必须包括应应用于新列的数据类型和所有属性,而不包括主键或唯一等索引属性。原始定义中存在但未在新定义中指定的属性不会继续。

票数 128
EN

Stack Overflow用户

发布于 2014-10-23 12:29:19

使用以下语法:

代码语言:javascript
复制
  ALTER TABLE your_table
  MODIFY COLUMN column1 datatype,
  MODIFY COLUMN column2 datatype,
  ... ... ... ... ... 
  ... ... ... ... ...

在此基础上,您的ALTER命令应该是:

代码语言:javascript
复制
  ALTER TABLE webstore.Store
  MODIFY COLUMN ShortName VARCHAR(100),
  MODIFY COLUMN UrlShort VARCHAR(100)

请注意:

  1. MODIFY语句没有第二个括号。
  2. 我对两个单独的列使用了两个单独的MODIFY语句。

这是对MySQL表中的多个列执行ALTER命令的MODIFY语句的标准格式。

看一下下面的代码:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html和Alter multiple columns in a single statement

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3773480

复制
相关文章

相似问题

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