【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.1
【复现路径】
【遇到的问题:问题现象及影响】
对auto random 的表批量插入数据会报主键冲突
【资源配置】*
【附件:截图/日志/监控】
1.批量写入时。是否有tidb重启过?
没有重启
你这个重复的id值很小啊,看着不像自动生成的。。。。
但是,你看insert,根本就没显示插入id
而且auto_random_base 就是53223112
表里面有id是52844394这条数据吗?是怎么产生的。。。
有的,查得到。应该是之前br恢复出来的数据
select max(id)&0x7ffffffffffffff from xxxtbl
确认最大的 id,然后修改 base 到这个值
1 个赞
我找了下,没有这个变更的
可以考虑规避方案:总体思路就是创新创建表,把除了 id 以外的列插入进去;然后再 rename 回来
比如:
1、如果数据量不大,可以直接select
2、如果数据量比较大,可以考虑 dumpling + lightning;
dumpling 导出的时候可以考虑不带 id 值(当然,带也没关系);
好的,不过感觉这是个bug
可能真的有冲突