我想知道mysql在使用更改、修改、列在alter时是如何工作的?通过复制表,并更改差异?或者一些..。谢谢
发布于 2014-04-04 09:33:37
MySQL ALTER :更改vs修改列
每当必须更改MySQL中的列时(这不是经常发生的情况),总是忘记ALTER COLUMN, CHANGE COLUMN, and MODIFY COLUMN__之间的区别。
ALTER列
用于设置或删除列的默认值。示例:
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;修改列
用于更改列的所有内容,但不重命名列。示例:
ALTER TABLE MyTable MODIFY COLUMN foo VARCHAR(32) NOT NULL AFTER baz;http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
https://stackoverflow.com/questions/14767174/modify-column-vs-change-column
https://stackoverflow.com/questions/22858717
复制相似问题