auto_incrementの現在値

MySQLについて表題を知りたい。該当のカラムの最大値を取れば良い?とか思ったがそれでは不確実である。

■ 環境

  • MySQL 5.7.17

■ show table status

mysql> show table status like 'test%' \G
*************************** 1. row ***************************
           Name: test
         Engine: InnoDB
  :
Auto_increment: 1320
  :
1 row in set (0.01 sec)

mysql>

`like`で対象を絞らないと全テーブルのステータスが取得できてしまう。

■ show create table

mysql> show create table test \G
*************************** 1. row ***************************
       Table: test
Create Table: CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  :
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1320 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)

mysql>

AUTO_INCREMENT=1320“が取得できる。他にも手段があるかもしれないが、この方法が簡単な気がする。

以上。

■ 関連