【问题标题】:AFTER keyword in mysql ALTER table querymysql ALTER表查询中的AFTER关键字
【发布时间】:2015-01-29 07:47:35
【问题描述】:

当我看到表单的更改查询时,我正在浏览一些代码:

alter table table_name add column tags varchar(25) default null after some_field;

阅读mysql docs for ALTER Table,AFTER关键字的用途是

要在表格行中的特定位置添加列,请使用 FIRST 或 AFTER col_name。默认是最后添加列。您还可以在 CHANGE 或 MODIFY 操作中使用 FIRST 和 AFTER 对表中的列重新排序。

什么时候应该使用这个关键字,是否建议经常运行它来更改具有大量(数百万)行的表?

【问题讨论】:

    标签: mysql alter-table


    【解决方案1】:

    当您希望添加到现有表的新列不应该位于列列表的末尾,而是位于特定位置时,请使用它。

    示例:现有表persons

    persons: id firstname, lastname, password, permissions
    

    如果您现在想要添加一个新列 fullname,您可能希望将其直接放在 lastname 之后,而不是放在列列表的末尾。然后使用AFTER 让它看起来像这样

    persons: id firstname, lastname, fullname, password, permissions
    

    而不是那个

    persons: id firstname, lastname, password, permissions, fullname
    

    【讨论】:

      【解决方案2】:

      由于答案就在您的报价中,要重新排序表中的列,我们在创建新列时主要使用 AFTERFIRST 关键字。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-30
        • 1970-01-01
        • 1970-01-01
        • 2012-09-28
        • 1970-01-01
        • 2017-08-13
        相关资源
        最近更新 更多