AUTO_INCREMENT 【オートインクリメント】

概要

AUTO_INCREMENT(オートインクリメント)とは、MySQLで列に設定できる属性の一つで、値を自動採番することができるようにするもの。各行に自動的に一意の値を割り当てることができる。

整数型または浮動小数点数型の列に設定できる属性で、指定すると行を挿入する度に1から順に通し番号(前の行に1加算した値)を格納してくれる。テーブルごとに一つの列しか指定することはできず、当該列にはインデックスを設定する必要がある。

挿入時に値を指定することもでき、以降はその番号を先頭として1ずつ加算していく。最初から1以外の値で番号を開始したい場合はALTER TABLE文で「AUTO_INCREMENT=番号」のように指定すればその番号から開始される。エラーで挿入できなかった行や削除した行の番号は欠番となる。

リレーショナルデータベースのテーブルには行を一意に識別する主キーを設定する必要があるが、人間にとって意味のあるデータの中に行ごとに必ず固有であるものが含まれるとは限らない(むしろ稀である)ため、行の識別のためだけに通し番号を与えた列を作成し、主キーに指定するという設計がよく用いられる。

AUTO_INCREMENTのような自動採番機能は他のRDBMSにも見られるが、Microsoft Accessではオートナンバー型PostgreSQLではシリアル型、SQL ServerではIDENTITY、標準SQLでは「GENERATED AS IDENTITY」など、名称や指定方法、実装方式などはシステムごとにまちまちである。

(2022.2.24更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。