2013-07-02 118 views
0

我創建了一個有多列的表格,其中一個是VARCHAR(250)更改列的數據類型

我在表中有很多行,我想將列的數據類型更改爲VARCHAR(500)

如果我右鍵單擊表並選擇「alter table」,我可以更改列DataType。

像這樣更改DataType是否安全?

我該怎麼改變列的DataType?

更改DataType時,是否有可能從表中丟失數據?

回答

3

如果您將varchar(250)更改爲varchar(500),則可以安全繼續。如果您從varchar(500)更改爲varchar(250)那麼您的數據會被截斷。此外,如果您正在將數據類型更改爲varchar(250)integer,那麼是的,這也會影響您的數據。您可以使用圖形化的工具來修改你的專欄或命令行中使用下面的語句來改變你的專欄:

alter table table_name modify column_name varchar(500); 

alter table table_name change column_name column_name varchar(500); 

強烈建議您備份您的表在此之前,只是以防萬一。

+1

還要小心你的MySQL版本 - 在低於5.0.3的MySQL版本中,VARCHAR不能超過255個字符。 (http://dev.mysql.com/doc/refman/5.0/en/char.html) – dethtron5000

+0

+1指出,@ dethtron5000 – vee

+0

@ dethtron5000我使用的是5.2.47,可以更改它嗎? – MTA