更改多列的列类型

我正在尝试将一个表中多列的类型更改为varchar(50)(在单个SQL中) 查询)。 你能告诉我我做错了什么,以及为什么这个查询显示错误。 </ p>

  ALTER TABLE'my_table_name'
ALTER COLUMN'col1'varchar(50),
ALTER COLUMN'col2'varchar(50),
ALTER COLUMN'col3' varchar(50)
</ code> </ pre>

谢谢!</ p>
</ div>

展开原文

原文

I'm trying to change type of multiple columns in a one table to varchar(50) (in a single SQL query). 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!

doujiao1814
doujiao1814 你想改变什么?列名,类型,......
7 年多之前 回复
douyimiao1993
douyimiao1993 摆脱单引号?
7 年多之前 回复

5个回答



删除单引号并使用 MODIFY </ code>而不是 CHANGE COLUMN </ code> </ p >

  ALTER TABLE my_table_name 
MODIFY col1 varchar(50),
MODIFY col2 varchar(50),
MODIFY col3 varchar(50)
</ code> </ pre>

</ div>

展开原文

原文

Remove the single quotation marks and use MODIFY not CHANGE COLUMN

ALTER TABLE my_table_name 
    MODIFY col1 varchar(50), 
    MODIFY col2 varchar(50), 
    MODIFY col3 varchar(50)



您需要使用 MODIFY </ code>并删除单引号:</ p>

  ALTER TABLE my_table_name 
MODIFY col1 varchar(50),
MODIFY col2 varchar(50),
MODIFY col3 varchar(50)
</ code> </ pre>
</ div >

展开原文

原文

You need to use MODIFY and get rid of the single quotes:

ALTER TABLE my_table_name 
    MODIFY col1 varchar(50), 
    MODIFY col2 varchar(50), 
    MODIFY col3 varchar(50)



您需要的语法是:</ p>

  ALTER TABLE'my_table_name'
nmodify COLUMN 'col1'varchar(50),
nmodify COLUMN'col2'varchar(50),
nmodify COLUMN'col3'varchar(50)
</ code> </ pre>
</ div>

展开原文

原文

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)



使用 CHANGE </ code>,您需要指定 new_col_name </ code>然后 col_definition </ code>:</ p>

  ALTER TABLEmy_table_name 
CHANGE COLUMNcol1col1 varchar(50),
CHANGE COLUMNcol2col2 varchar(50 ),
CHANGE COLUMNcol3col3 varchar(50)
</ code> </ pre>

使用 MODIFY </ code>只需指定 col_definition </ code>:</ p>

  ALTER TABLEmy_table_name 
MODIFY COLUMNcol1 varchar(50),
MODIFY COLUMNcol2 varchar(50),
MODIFY COLUMNcol3 varchar(50)
</ code> </ pre>

mysql_manual </ p>
</ div>

展开原文

原文

Using CHANGE you would need to specify the new_col_name then 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:

ALTER TABLE `my_table_name` 
MODIFY COLUMN `col1` varchar(50),   
MODIFY COLUMN `col2` varchar(50),   
MODIFY COLUMN `col3` varchar(50)

mysql_manual



如果只想更改列定义(不重命名),可以使用以下语法:</ p>

< pre> ALTER TABLE'my_table_name'

修改'col1'varchar(50)
</ code> </ pre>

否则必须使用以下语法:</ p>

  ALTER TABLE'my_table_name'
CHANGE'col1old','col1new'varchar(50)
</ code> </ pre>
</ div>

展开原文

原文

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)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问