2014-04-04 1149 views
2

我想知道mysql如何在使用alter table時修改,修改column中的內容? 通過複製表,並改變差異?或者一些...感謝mysql如何在alter table中使用change,modify,column內部工作?

+0

MySQL使用其中使用自己的滴加方法可插拔引擎架構/添加列和改變表,並將它們中的每一個*可以*使用不同的方法。由於人們使用MySQL的許多引擎,因此您需要找出您感興趣的引擎並檢查它在源代碼中的作用。由於這不是一個編程問題相關的問題,我正在投票結束。 –

回答

8

MySQL的ALTER TABLE:ALTER VS CHANGE VS修改列

每當有改變在MySQL(這是不是經常)一欄,始終不忘ALTER COLUMN, CHANGE COLUMN, and MODIFY COLUMN之間的差異。

ALTER COLUMN

用於設置或刪除默認值的列。例如:

ALTER TABLE MyTable ALTER COLUMN foo SET DEFAULT 'bar'; 
ALTER TABLE MyTable ALTER COLUMN foo DROP DEFAULT; 

CHANGE COLUMN

用於重命名的列,改變其數據類型,或架構內移動它。例如:

ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL FIRST; 
ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32) NOT NULL AFTER baz; 

修改列

用來做一切更改列可以,但不重命名列。例如:

ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz; 

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

Modify column Vs change column

+0

檢查我的答案.. – jmail

相關問題