2016-06-21 39 views
-1

基本上我有一個具有大量領域,部分INT和一些VARCHAR的表。MYSQL更新(變更)許多領域一起

的問題是,由於進口某些問題,某些精密組件已分配VARCHAR 20和VARCHAR 10等。但是,它將包含超過一百個字符的數據。

有沒有一種方法,在MySQL中,使所有 VARCHAR字段爲VARCHAR 300就位VARCHAR 20等的,使用單個查詢

取而代之的是:

Field 1 : VARCHAR 15 
Field 2 : VARCHAR 20 
Field 3 : INT 6 

我想提前

Field 1 : VARCHAR 300 
Field 2 : VARCHAR 300 
Field 3 : INT 6 

感謝:-)

+0

爲什麼我低調:-(我沒有在這個地方找到答案 – Manav

+0

你被低估了,因爲你失去了十倍的時間尋找一個單一的查詢,而不是一個一個的改變 –

回答

2

您可以使用ALTER TABLE語句來修改列:

ALTER TABLE myTable 
    MODIFY COLUMN Field1 VARCHAR(300), 
    MODIFY COLUMN Field2 VARCHAR(300), 
... 
    MODIFY COLUMN FieldN VARCHAR(300); 

另一種方法是用一個程序來獲取所有表和更新的所有字段。但我認爲這不是你的情況。

+0

_是否有辦法在MySQL中,使所有VARCHAR領域VARCHAR 300就位VARCHAR 20等..,_ **使用單個查詢** –

+0

@RahulSharma比他們應該使用'msqli'運行此查詢 - 什麼是錯的這個答案? –

+0

@RahulSharma。「是」,你改變了列是正確的長度,你必須列出列。唯一的缺憾這個答案是Felippe重複說'改變table',而不是在一個做多的修改聲明。但這個想法是正確的。 –