nextdreamblue opened a new issue, #33697: URL: https://github.com/apache/doris/issues/33697
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no similar issues. ### Version master ### What's Wrong? MySQL [test]> CREATE TABLE `test` ( -> `id` BIGINT NOT NULL, -> `v1` BIGINT NULL, -> `v2` VARCHAR(128) NULL, -> `v3` VARCHAR(128) NULL -> ) ENGINE=OLAP -> UNIQUE KEY(`id`) -> DISTRIBUTED BY HASH(`id`) BUCKETS 1 -> PROPERTIES ( -> "replication_allocation" = "tag.location.default: 1" -> ); Query OK, 0 rows affected (0.02 sec) MySQL [test]> ALTER TABLE `test` MODIFY COLUMN `v2` VARCHAR(512) NULL AFTER `v1`,MODIFY COLUMN `v3` VARCHAR(512) NULL AFTER `v2`; ERROR 1105 (HY000): errCode = 2, detailMessage = Column[v2] does not exists 因为在 public void process(List<AlterClause> alterClauses, String clusterName, Database db, OlapTable olapTable) 函数中,会先获取一份schema的快照,然后在这个快照上修改列,保存修改后的列信息 这个接口里,可以同时处理多个AlterClause,然后每个修改的结果都保存到这个快照上 上边的sql中,先是修改v2列,然后在对这个v2列增加了一个前缀  这就导致快照中的v2已经变成了__doris_shadow_v2 然后处理第二个modify,MODIFY COLUMN `v3` VARCHAR(512) NULL AFTER `v2` 这里需要寻找v2,然后确定修改后的v3放到哪个位置,但是这个时候在上一步中已经修改后的快照中,已经找不到v2了,然后就报  ### What You Expected? alter table modify column success ### How to Reproduce? _No response_ ### Anything Else? _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org