SHOW TABLE NEXT_ROW_ID
SHOW TABLE NEXT_ROW_ID
语句用于显示用表中某些特殊列的详情,主要包含以下几种类型:
- TiDB 创建的
AUTO_INCREMENT
类型列,即_tidb_rowid
列 - 用户创建的
AUTO_INCREMENT
类型列 - 用户创建的
AUTO_RANDOM
类型列 - 用户创建的
SEQUENCE
对象信息
语法图
ShowTableNextRowIDStmt:
TableName:
示例
对于新建的表,由于没有任何的 Row ID 分配,NEXT_GLOBAL_ROW_ID 值为 1
create table t(a int);
Query OK, 0 rows affected (0.06 sec)
show table t next_row_id;
+---------+------------+-------------+--------------------+
| DB_NAME | TABLE_NAME | COLUMN_NAME | NEXT_GLOBAL_ROW_ID |
+---------+------------+-------------+--------------------+
| test | t | _tidb_rowid | 1 |
+---------+------------+-------------+--------------------+
1 row in set (0.00 sec)
表中写入了数据,负责写入的 TiDB Server 一次性向存储层请求了 30000 个 ID 缓存起来,NEXT_GLOBAL_ROW_ID 值为 30001
insert into t values (), (), ();
Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
show table t next_row_id;
+---------+------------+-------------+--------------------+
| DB_NAME | TABLE_NAME | COLUMN_NAME | NEXT_GLOBAL_ROW_ID |
+---------+------------+-------------+--------------------+
| test | t | _tidb_rowid | 30001 |
+---------+------------+-------------+--------------------+
1 row in set (0.00 sec)
MySQL 兼容性
该语句是 TiDB 对 MySQL 语法的扩展。