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 列的表列数据类型?
基础教程推荐
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
