ホーム > 未分類 > [MySQL] int(11)の11は最大桁数ではない

[MySQL] int(11)の11は最大桁数ではない

危なかった。勘違いしてた。
int(11)の「11」って表示桁数を揃えるためのものであって、格納できるのはあくまで4バイトなんですね。
参照: 本家ドキュメント

試してみる。

mysql> create table int_test (id int(11) primary key);
Query OK, 0 rows affected (0.04 sec)
 
mysql> desc int_test;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       | 
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
 
mysql> insert into int_test values(2147483647);
Query OK, 1 row affected (0.00 sec)
 
mysql> insert into int_test values(2147483648);
ERROR 1062 (23000): Duplicate entry '2147483647' for key 1
カテゴリー: 未分類 タグ: