mysql ALTER table 查询中的 AFTER 关键字

AFTER keyword in mysql ALTER table query

当我看到以下形式的更改查询时,我正在浏览一些代码:

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

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

To add a column at a specific position within a table row, use FIRST or AFTER col_name. The default is to add the column last. You can also use FIRST and AFTER in CHANGE or MODIFY operations to reorder columns within a table.

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

当您想要添加到现有列的新列时使用它 table 不应位于列列表的末尾,而应位于特定位置。

示例:现有 table persons

persons: id firstname, lastname, password, permissions

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

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

而不是那个

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

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