MySQL 5.6前ALTER TABLE MODIFY COLUMN默认用COPY算法需重建表并全程锁表5.6支持INPLACE但受限于类型兼容性、字符集等须显式指定ALGORITHMINPLACE和LOCKNONE并验证环境约束。ALTER TABLE MODIFY COLUMN 为什么会锁表MySQL 5.6 之前ALTER TABLE ... MODIFY COLUMN 默认走 COPY 算法先建新表、逐行拷贝数据、重建索引、删旧表。整个过程原表不可写DMLINSERT/UPDATE/DELETE被阻塞业务直接中断。即使只改字段类型比如 VARCHAR(100) → VARCHAR(200)只要不满足“就地修改”条件依然会触发全表拷贝。常见触发 COPY 的操作MODIFY COLUMN 改类型、改长度部分情况、加 NOT NULL、删默认值INPLACE 不是万能的它只支持某些类型变更如 VARCHAR 变长扩展、ADD COLUMN 末尾加列且要求引擎为 InnoDB、MySQL ≥ 5.6执行前可查 SHOW CREATE TABLE 确认当前字段定义避免隐式类型转换导致意外降级为 COPY怎么强制用 ALGORITHMINPLACE显式指定算法是控制行为最直接的方式但不是所有语句都能成功——MySQL 会校验是否真能 inplace否则报错而不是静默回退。正确写法是带 ALGORITHMINPLACE 和 LOCKNONE如果支持 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。