テーブルNEXT_ROW_IDを表示
SHOW TABLE NEXT_ROW_ID
は、次のようなテーブルのいくつかの特別な列の詳細を表示するために使用されます。
- TiDBによって自動的に作成される
AUTO_INCREMENT
列、つまり_tidb_rowid
列。 AUTO_INCREMENT
列はユーザーによって作成されました。AUTO_RANDOM
列はユーザーによって作成されました。SEQUENCE
ユーザーによって作成されました。
あらすじ
ShowTableNextRowIDStmt:
TableName:
例
新しく作成されたテーブルの場合、行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になります。
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拡張です。