MySQL で 下のような テーブルを作成
create table table1(i int);
2147483647 以上の数字を書き込むと下のエラーが出る
ERROR 1264 (22003): Out of range value for column 'i' at row 1
iをBIGINTに変更すると 9223372036854775807まで書けるので、 2147483648も書込み可能
create table table1(i bigint);
INTでもマイナスを使わないなら unsignedが使える
create table table1(i int unsigned);
int unsignedの場合4294967295まで入る
整数型 一覧
型 | ストレージ | 最小値 | 最大値 |
---|---|---|---|
(バイト) | (符号付き/符号なし) | (符号付き/符号なし) | |
TINYINT |
1 | -128 |
127 |
0 |
255 |
||
SMALLINT |
2 | -32768 |
32767 |
0 |
65535 |
||
MEDIUMINT |
3 | -8388608 |
8388607 |
0 |
16777215 |
||
INT |
4 | -2147483648 |
2147483647 |
0 |
4294967295 |
||
BIGINT |
8 | -9223372036854775808 |
9223372036854775807 |
0 |
18446744073709551615 |