出现自增值小于表中数据最大值问题

手工插入了最大码

做统计信息直方图是会扫描最大值,这个信息不知道会不会共享给自增,可以试一下

统计理论上会持久化,自增是放内存里面的

感觉这个是一个bug啊

姿势不对啊,业务上理论上就不应该修改自增id,如果字段有业务属性的话,就不应该设置自增,业务去维护主键单调自增,或者设置为增加一个无业务属性字段为自增id

有数据迁移的情况

我们6.5 也遇到相同问题,有没有官方的人,这个对mysql迁移过来采用 auto_id_cache=1 的表 非常不友好 影响非常大 tidb 自增主键 设置 AUTO_ID_CACHE=1 和实际的表 重复

我看官方文档说如果在不同的TiDB混用显式插入或隐式分配主键,可能会出现Duplicated Error的错误

AUTO_INCREMENT | PingCAP 文档中心

AUTO_ID_CACHE=1设置后,tidb自增会由一个tidb server来处理,变成集中数据库处理方式,不会出现你说的那种情况。

谢谢指点,对这个参数还不太了解,火速去看文档~
看到有个issue跟这个现象好像有点类似
If the autoid service node is not leader, save the cached ids back would cause potential ‘Duplicate entry’ error · Issue #46444 · pingcap/tidb (github.com)

厂商给结论了,6.5.8和7.5.1修复了


dataxweb 部署在tidb 上也有这样的情况自增很怪

不冲突还好,自增搞出来主键冲突就很麻烦

好的 我们准备升级到 6.5.8 了

小于正常