【问题标题】:How mysql work when using change , modify , column inside alter table ? [closed]在alter table中使用change、modify、column时mysql如何工作? [关闭]
【发布时间】:2014-05-16 12:37:45
【问题描述】:

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

【问题讨论】:

  • MySQL 使用可插拔引擎架构,该架构使用自己的删除/添加列和更改表的方法,并且每个方法可以使用不同的方法。由于人们使用的 MySQL 引擎有很多,因此您需要找出您感兴趣的引擎并检查它在源代码中的作用。由于这不是与编程问题相关的问题,因此我投票结束。

标签: mysql


【解决方案1】:

MySQL ALTER TABLE:ALTER vs CHANGE vs MODIFY COLUMN

每当必须更改 MySQL 中的列时(这并不经常),总是忘记ALTER COLUMN, CHANGE COLUMN, and MODIFY 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;

修改列

用来做 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-21
    • 2014-02-24
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 2019-02-05
    相关资源
    最近更新 更多