intの「11」は入力可能サイズではなく表示する桁数のこと
phpMyAdminで作成したテーブルの構造を確認すると、列のデータ型(種別)にint(11)やvarchar(50)のように、数値が付加されていますが、数値系の列と文字列系の列では意味が異なります。
varchar(50) — 文字列で定義した列に設定されるvarchar(50)の「50」は、この列に格納できる文字数を示しています。
int(11) — 数値で定義した列のint(11)の「11」は、列に入力可能な桁数の制限ではありません。列を表示するときのサイズです。数値列の属性で「UNSIGNED ZEROFILL」(符号なしで前ゼロを埋める)を選択した場合に、「00000000123」のように前にゼロを埋めて数値を表示するときの桁数を示しています。結論は、int(11)の「11」は、設定した覚えがなくても特に気にする必要はないということです。
MySQLのintのデータサイズ(長さ)
数値項目に、どれくらいの長さの値を入力できるのか、以下の表を参考にしてください。
(※この表は、以下のサイトより引用しました。)
○MySQL 5.1 リファレンスマニュアル :: 10 データタイプ :: 10.2 数値タイプ
intの例では、符号付の場合、およそ-21億~21億まで、符号なしの場合は、0から42億程度までの範囲で入力可能です。