[英]Alter column type of multiple columns
I'm trying to change type of multiple columns in a one table to varchar(50) (in a single SQL query). 我试图将一个表中的多个列的类型更改为varchar(50)(在单个SQL查询中)。 Can you please tell me what am I doing wrong, and why this query shows error.
您能告诉我我在做什么错,为什么这个查询显示错误。
ALTER TABLE 'my_table_name'
ALTER COLUMN 'col1' varchar(50),
ALTER COLUMN 'col2' varchar(50),
ALTER COLUMN 'col3' varchar(50)
Thank you! 谢谢!
Remove the single quotation marks and use MODIFY
not CHANGE COLUMN
删除单引号,并使用“
MODIFY
而不CHANGE COLUMN
ALTER TABLE my_table_name
MODIFY col1 varchar(50),
MODIFY col2 varchar(50),
MODIFY col3 varchar(50)
You need to use MODIFY
and get rid of the single quotes: 您需要使用
MODIFY
并摆脱单引号:
ALTER TABLE my_table_name
MODIFY col1 varchar(50),
MODIFY col2 varchar(50),
MODIFY col3 varchar(50)
The syntax you want is: 您想要的语法是:
ALTER TABLE 'my_table_name'
modify COLUMN 'col1' varchar(50),
modify COLUMN 'col2' varchar(50),
modify COLUMN 'col3' varchar(50)
Using CHANGE
you would need to specify the new_col_name
then col_definition
: 使用
CHANGE
您需要指定new_col_name
然后指定col_definition
:
ALTER TABLE `my_table_name`
CHANGE COLUMN `col1` `col1` varchar(50),
CHANGE COLUMN `col2` `col2` varchar(50),
CHANGE COLUMN `col3` `col3` varchar(50)
Using MODIFY
you only need specify the col_definition
: 使用
MODIFY
您只需要指定col_definition
:
ALTER TABLE `my_table_name`
MODIFY COLUMN `col1` varchar(50),
MODIFY COLUMN `col2` varchar(50),
MODIFY COLUMN `col3` varchar(50)
If you want to change column definition only (without renaming), you can use this syntax: 如果只想更改列定义(不重命名),则可以使用以下语法:
ALTER TABLE 'my_table_name'
MODIFY 'col1' varchar(50)
else you must use this syntax: 否则,您必须使用以下语法:
ALTER TABLE 'my_table_name'
CHANGE 'col1old', 'col1new' varchar(50)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.