📣

TiDB Cloud Serverless が
Starter
に変わりました!このページは自動翻訳されたものです。
原文はこちらからご覧ください。

テーブルの次の行IDを表示

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

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

概要

ShowTableNextRowIDStmt
SHOWTABLESchemaName.TableNameNEXT_ROW_ID

新しく作成されたテーブルの場合、行 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サーバーは、一度に30000個のIDを割り当ててキャッシュします。そのため、NEXT_GLOBAL_ROW_IDは現在30001です。IDの数はAUTO_ID_CACHEで制御されます。

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 拡張です。

参照

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