在alter table中使用change,modify,column时mysql如何工作?

时间:2014-04-04 09:24:48

标签: mysql

我想知道在alter table中使用change,modify,column时mysql是如何工作的?    通过复制表,并改变差异?或者一些......谢谢

1 个答案:

答案 0 :(得分:8)

MySQL ALTER TABLE:ALTER vs CHANGE vs MODIFY COLUMN

每当必须更改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;

更改栏目

用于重命名列,更改其数据类型或在架构中移动它。例如:

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;

MODIFY COLUMN

用于执行CHANGE COLUMN可以执行的所有操作,但无需重命名列。例如:

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