如何更改超过 1 列的表列数据类型?

How do I Alter Table Column datatype on more than 1 column?(如何更改超过 1 列的表列数据类型?)
本文介绍了如何更改超过 1 列的表列数据类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如:

ALTER TABLE webstore.Store MODIFY COLUMN (
  ShortName VARCHAR(100),
  UrlShort VARCHAR(100)
);

但是上面的方法不起作用.我正在使用 MySql 5.x

The above however does not work. I am using MySql 5.x

推荐答案

ALTER TABLE 可以在一条语句中进行多张表的更改,但是MODIFY COLUMN 一次只能对一列起作用,所以需要指定MODIFY COLUMN 用于您要更改的每一列:

ALTER TABLE can do multiple table alterations in one statement, but MODIFY COLUMN can only work on one column at a time, so you need to specify MODIFY COLUMN for each column you want to change:

ALTER TABLE webstore.Store
  MODIFY COLUMN ShortName VARCHAR(100),
  MODIFY COLUMN UrlShort VARCHAR(100);

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

Also, note this warning from the manual:

当您使用 CHANGE 或 MODIFY 时,column_definition 必须包括数据类型和应应用于新列的所有属性,除了 PRIMARY KEY 或 UNIQUE 等索引属性.原始定义中存在但未为新定义指定的属性不会被继承.

When you use CHANGE or MODIFY, column_definition must include the data type and all attributes that should apply to the new column, other than index attributes such as PRIMARY KEY or UNIQUE. Attributes present in the original definition but not specified for the new definition are not carried forward.

这篇关于如何更改超过 1 列的表列数据类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)