簡體   English   中英

更改多列的列類型

[英]Alter column type of multiple columns

我試圖將一個表中的多個列的類型更改為varchar(50)(在單個SQL查詢中)。 您能告訴我我在做什么錯,為什么這個查詢顯示錯誤。

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

謝謝!

刪除單引號,並使用“ MODIFY而不CHANGE COLUMN

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

您需要使用MODIFY並擺脫單引號:

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

您想要的語法是:

ALTER TABLE 'my_table_name'  
modify COLUMN 'col1' varchar(50),   
modify COLUMN 'col2' varchar(50),   
modify COLUMN 'col3' varchar(50)

使用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)

使用MODIFY您只需要指定col_definition

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

mysql_manual

如果只想更改列定義(不重命名),則可以使用以下語法:

ALTER TABLE 'my_table_name' 
    MODIFY 'col1' varchar(50)

否則,您必須使用以下語法:

ALTER TABLE 'my_table_name' 
    CHANGE 'col1old', 'col1new' varchar(50)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM