PHP で MySQL を操作するのに役立つリファレンス

MySQL FAQ

AUTO_INCREMENT の列のデータ型には何を設定すべきですか?

スポンサードリンク
INT または BIGINT を使用した方が良いです。
AUTO_INCREMENT ではマイナスは不要なので UNSIGNED オプションを付けます。

MySQL の AUTO_INCREMENT の自動採番は 1 から始まって 1 ずつインクリメントしていきますが、 インクリメントした結果がその列のデータ型の最大値より大きくなる場合は、そのデータ型の最大値が採番されます。

Oracle の SEQUENCE で設定できる CYCLE のような循環設定はないので、できるだけ余裕を持ったデータ型を選んでおく必要があります。

また AUTO_INCREMENT の列にマイナスの値は採番されないので、 UNSIGNED オプションを付けておくことでプラスの番号範囲を 2 倍 + 1 にすることができます。

INT UNSIGNED であれば、最大値は 4,294,967,295 なので普通のシステムであれば十分だと思いますが、もし心配な場合は BIGINT UNSIGNED (最大値:18,446,744,073,709,551,615 )にしておけば番号が枯渇することはまずないと思います。

スポンサードリンク

AUTO_INCREMENT

その他のカテゴリー一覧