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 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- 无法解决整理冲突 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 是否可以执行按位分组功能? 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
