重要

古いバージョンの TiDB データベース (TiDB {{ curdocVersion }}) のドキュメントを表示しています。

TiDBデータベースの最新の安定バージョンを使用することをお勧めします。
重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

テーブルNEXT_ROW_IDを表示

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

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

あらすじ

ShowTableNextRowIDStmt:

ShowTableNextRowIDStmt

TableName:

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

このステートメントは、MySQL構文のTiDB拡張です。

も参照してください