テーブルのNEXT_ROW_IDを表示

SHOW TABLE NEXT_ROW_IDは、テーブルのいくつかの特別な列の詳細を示すために使用されます。次のようなものがあります。

  • TiDB によって自動的に作成されるAUTO_INCREMENT列、つまり_tidb_rowid列。
  • ユーザーが作成した列はAUTO_INCREMENT
  • ユーザーが作成した列はAUTO_RANDOM
  • ユーザーが作成したものはSEQUENCEます。

あらすじ

ShowTableNextRowIDStmt:

ShowTableNextRowIDStmt

テーブル名:

TableName

新しく作成されたテーブルの場合、ロウ ID が割り当てられていないため、 NEXT_GLOBAL_ROW_ID1になります。

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サーバーは、一度に 30,000 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の互換性

このステートメントは、MySQL 構文に対する TiDB 拡張機能です。

こちらも参照

このページは役に立ちましたか?