【おーといんくりめんと】
オートインクリメント とは?
💡 レコード追加ごとに「自動で連番を振ってくれる」機能
📌 このページのポイント
- INSERT時に自動で1ずつ増える連番を振る機能
- 主キー(PRIMARY KEY)のID列に最もよく使われる
- MySQLではAUTO_INCREMENT、PostgreSQLではSERIALやIDENTITYを使う
- 削除した番号は再利用されない(欠番が生じる)
オートインクリメントってどう設定するの?
MySQLなら「CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100))」のように書く。INSERT時にidを指定しなければ自動で1, 2, 3と番号が振られるよ。PostgreSQLだと「id SERIAL PRIMARY KEY」か「id INT GENERATED ALWAYS AS IDENTITY」と書く。
レコードを削除したら番号が詰まるの?
詰まらない。id=3を削除しても次に挿入されるのはid=4。欠番は気にしなくていい。番号に意味を持たせる(通し番号として使う)のはオートインクリメントの目的とは違うんだ。
UUIDとオートインクリメント、どっちを使うべき?
オートインクリメントの値が上限に達したらどうなるの?
まとめ:ざっくりこれだけ覚えればOK!
オートインクリメントって出てきたら「レコードを追加するたびに自動で連番を振ってくれる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Auto Increment」 = 自動(Auto)増加(Increment)
💬 「Auto(自動で)」+「Increment(増やす)」。挿入のたびに自動で数値を1つ増やすという意味