我試圖將一個表中的多個列的類型更改爲varchar(50)(在單個SQL查詢中)。你能告訴我我做錯了什麼,爲什麼這個查詢顯示錯誤。更改多列的列類型
ALTER TABLE 'my_table_name'
ALTER COLUMN 'col1' varchar(50),
ALTER COLUMN 'col2' varchar(50),
ALTER COLUMN 'col3' varchar(50)
謝謝!
我試圖將一個表中的多個列的類型更改爲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)
你想要的語法是:
ALTER TABLE 'my_table_name'
modify COLUMN 'col1' varchar(50),
modify COLUMN 'col2' varchar(50),
modify COLUMN 'col3' varchar(50)
您需要使用MODIFY
,擺脫了單引號:
ALTER TABLE my_table_name
MODIFY col1 varchar(50),
MODIFY col2 varchar(50),
MODIFY 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)
如果你想只改變列定義(不重命名),您可以使用以下語法:
ALTER TABLE 'my_table_name'
MODIFY 'col1' varchar(50)
否則,您必須使用此語法:
ALTER TABLE 'my_table_name'
CHANGE 'col1old', 'col1new' varchar(50)
擺脫單引號的? – bobwienholt
你想改變什麼?列名稱,類型,... –