How do I Alter Table Column datatype on more than 1 column?(如何更改超过 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_definitionmust 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 列的表列数据类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何更改超过 1 列的表列数据类型?
基础教程推荐
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 在多列上分布任意行 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
