重启设备后,数据库自增id从1000000开始

【 使用环境 】生产环境
【 OB or 其他组件 】ob
【 使用版本 】4.2.0_CE
【问题描述】

  1. 数据库表a一开始的自增id是1;
  2. 删除数据重启设备后,再次添加数据id变为了1000001

【期待效果】

  1. 数据库的id继续从2开始自增,而不是跳到1000000开始

因为有缓存。重启或切主都会导致跳变。
可以看看这篇文章:

OceanBase 自增列与序列最佳实践

https://www.oceanbase.com/docs/common-best-practices-1000000003629554#5-title-自增列创建语法

重新设置AUTO_INCREMENT无效;这个需额外操作什么才能生效吗?

设置的值需要大于当前自增列已分配的最大值,否则设置不会生效

  1. 有提前修改已有数据的自增id为1,2
  2. 然后修改AUTO_INCREMENT=10
    重新查询仍没有生效,查询值仍是2000003

一个是你修改的值不能小于已经存在的值。
另外
还有这些情况会导致跳变。

这个是匹配预先的缓存最大值吗?
例如数据库中已有数据的id已经修改为1,2,3;修改AUTO_INCREMENT=10无效,但修改为AUTO_INCREMENT3000007就有效