2021-05-25
[FAQ] DM 同步报错 Error 8200: Unsupported multi schema change
问题现象
DM 版本: v1.0.6
上游执行单个 DDL 语句内添加多个字段的语句,通过 DM 同步到 TiDB 的时候报错
"error": { "ErrCode": 10006, "ErrClass": 1, "ErrScope": 2, "ErrLevel": 3, "Message": "execute statement failed: ALTER TABLE xxxxx ADD COLUMN xxxxxx Error 8200: Unsupported multi schema change", "RawCause": "Error 8200: Unsupported multi schema change" } },
复制
问题描述
DM 会尝试将包含多个 DDL 变更操作的单条语句拆分成只包含一个 DDL 操作的多条语句,但是可能没有覆盖所有的场景。
目前支持拆分的语句类型包括:drop table/rename table/alter table
https://github.com/pingcap/dm/blob/v2.0.1/pkg/parser/common.go#L173
对于以下这种形式的 alter table 语句会进行拆分
alter table table_name add t1 xxx, add t2 xxx, add t3 xxx;
复制
但是在 v2.0.1 之前版本对于以下这种 alter 语句不会进行拆分,会直接发送给下游 TiDB ,目前 TiDB 不支持单个 DDL 语句修改多个字段的操作,所以会报错
alter table table_name add column (t1 xxx, t2 xxx, t3 xxx;
复制
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
Markdown
请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
