MySQL: AUTO INCREMENTを確認するには

MySQL: AUTO INCREMENTを確認するには

MySQLには、テーブルの特定のカラムに「AUTO INCREMENT」を設定できますが、これの値を確認する方法を紹介します。

検証環境

macOS High Sierra, MySQL 8.0.11

以下のようなSQLで作られたテーブルを例にして話を進めます。

create table auto_increment_test(
id int AUTO_INCREMENT,
name varchar(100),
index(id)
);

show table status で確認

以下のSQLを実行します。

show table status where Name = 'auto_increment_test'\G

結果は以下のようになります。

*************************** 1. row ***************************
Name: auto_increment_test
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 16384
Data_free: 0
Auto_increment: NULL
Create_time: 2018-06-24 18:13:12
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)

…?!

本来であれば、「Auto_increment」の部分に表示されるはずなのですが…

なぜかNULL になっており、確認できません…

show create table で確認する

仕方がないので、こちらのSQLで対応します。

show create table auto_increment_test;

結果は以下です。

+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table               | Create Table                                                                                                                                                                               |
+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| auto_increment_test | CREATE TABLE `auto_increment_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 |
+---------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

「AUTO_INCREMENT」の部分に表示されているので、そこで確認します。

変更するには

AUTO_INCREMENTの値を変更するには、以下のSQLを実行します。

alter table auto_increment_test auto_increment = 123;