You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL如何在数据表的第一列前添加新列?

MySQL 在数据表第一列前添加新列的实现方法

要在数据表现有第一列之前新增列,直接使用ALTER TABLE语句搭配FIRST关键字即可,无需手动重建整张表。

核心语法

ALTER TABLE 目标表名
ADD COLUMN 新列名 列数据类型 [列约束规则] FIRST;

实操示例

假设现有一张存储用户信息的users表,原始列顺序为id、username、create_time,现在需要在表最开头新增一个row_seq字段(BIGINT无符号类型,非空,用于存储行序列号),执行以下SQL即可完成操作:

ALTER TABLE users
ADD COLUMN row_seq BIGINT UNSIGNED NOT NULL COMMENT '行序列号' FIRST;

语句执行完成后,row_seq会成为users表的第一列,原有所有列自动向后顺延。
新增列位置效果参考图

补充说明

  • 若需要把新列添加到某一指定已有列的后方,而非表的最开头,只需将语句末尾的FIRST替换为AFTER 参考列名即可,比如要把新列加在username列后方,对应位置声明写为AFTER username
  • MySQL 5.6及以上版本的InnoDB引擎支持在线DDL,常规加列操作不会长时间锁表,但数据量超百万的大表执行该操作,仍建议选在业务低峰期进行
  • 如果新增列时不写FIRST或AFTER位置声明,新列默认会被添加到表的最后一列

内容的提问来源于stack exchange,提问作者sanvi ritu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 22:15:49