作者:chendapao
这是一个问题分享
如果上游mysql有自增主键,dm又不想使用列值转换(column mapping)的话,很容易出现如下错误:
但是这里,官方会引导我们去打开错误里的文档进行参考。
可是官方的解释里有一个误导的地方,提供了Column mapping
,但是又不建议我们使用。
一般的思路就会按照文档接着往下读,进行去掉自增主键的主键属性
的下游tidb库表操作。并且文档里也给出了一个流程
此时如果按照此流程操作,问题不会解决,依旧会出现开头的错误。
错误的原因如下
简单的理解就是,如果有自增主键,就必须使用列值转换(Column mapping)否则任务会检查不成功,即使你下游tidb里按照刚才的文档进行去除自增的操作也不行,检查依旧不成功。
主要原因是提示错误的文档里忘记引导
用户,如果不想使用列值转换(Column mapping)来进行分库分表合并,只想做下游tidb的修改,此时最重要的一步要在任务配置跳过自增主键
检查。
配置如下:
ignore-checking-items: ["auto_increment_ID"]