元数据 AUTO_INCREMENT(下一个自增ID) 缺失

版本 5.7.25-OceanBase_CE-v4.1.0.0
原先我们使用
SELECT
AUTO_INCREMENT
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_NAME = 'table_name’
查询表的下一个自增ID的,结果返回的确实 null
image
没办法,我只好用序列来代替它,可奇怪的是我用
SHOW TABLE STATUS like 'table_name’
却能查询到 AUTO_INCREMENT


有谁知道为什么会这样 :face_with_raised_eyebrow:

2 个赞

稍会我帮你确认下

1 个赞

我这边执行出来是空的,请问你那边完整的操作流程是怎样的,麻烦贴一下复现步骤

1 个赞

并没有其他的操作,只是执行了这两条语句

数据库本身我也没有进行过多的修改,只是新建了一个新的租户,数据库也是用docker安装的

那麻烦在二进制目录执行下./observer -V 看看,我用相同版本的ob排查下

版本的话是 4.1.0.0

我用相同版本没有出现:

能否把你们的详细流程描述一下吗,从创建租户到查询。

看到你的结果我很疑惑,所以我在自己的电脑有又安装了一套环境,安装步骤依然是按照社区文档来的,可是我仍然得到相同的结果
新建的一张表


SHOW TABLE STATUS like ‘table-test’;有值

SELECT
** auto_increment

FROM
** information_schema.TABLES

WHERE
** TABLE_SCHEMA = ‘table-test’**
** AND TABLE_NAME = ‘table-test’;**无值

版本

这次没有新建租户,用的是系统租户sys@root 无密码登录
虚拟机环境是:CentOS Stream 9
Docker版本是

拉取的镜像是

然后就没有其他的个人操作了,不知道你那边能否再现这个问题了,太奇葩了这个问题 :face_with_spiral_eyes:

==================================================================
上面有一处错误 TABLE_SCHEMA = ‘table-test’ 应该是 TABLE_SCHEMA = ‘test’
SELECT
** AUTO_INCREMENT**
FROM
** information_schema.TABLES**
WHERE
** TABLE_SCHEMA = ‘test’**
** AND TABLE_NAME = ‘table-test’;**


不过结果依然是 null

1 个赞

噢,你是用ODC白屏工具执行的结果?


这是ODC吧,难道用它会有不同的查询结果? :face_with_raised_eyebrow:

好的,我们内部排查下

另外麻烦你使用黑屏执行一下操作,比对ODC的差异看看?


结果是一样的

两个问题:

  1. 预期是autoincrement是要有值,还是null?
  2. 贴一下建表语句

看起来是 information_schema.tables 视图的 auto_increment 列值未设置。
感谢反馈,应该是一个兼容性缺陷,我来转给相关团队跟进。

2 个赞

4.2.0 CE,也还是有这个问题,什么时候能解决?

麻烦新建个帖子,把建表语句发一下。。