プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
MySQL、int(11)の「11」の意味
結論から書くと、int(11)の「11」は

表示幅の指定

です。
言い方を変えると

空白埋め(0埋め)される桁数

です。
有効桁数の指定ではありません。

それでは詳細……というほどでもないですが、詳細を書いていきます。

MySQLでテーブル定義を作るとき、
int型は決まり文句のように

int(11)

と指定してきました。

この「11」の意味を長年気にしないで生きてきたのですが
ふと気になったので調べてみようかな~と思ったのが今回のきっかけです。

ほんで、調べたところ……「表示するとき」の空白埋め(0埋め)後の桁数の指定だと分かりました。

例えば、指定が「int(5)」であれば

【空】【空】【空】【空】1
【空】【空】【空】12
【空】【空】123
【空】1234
12345

のように表示されます。
※【空】=半角スペース

つまり、表示幅が5桁になるということですね。

もし「unsigned zerofill」がくっついていれば
半角スペースの代わりに0が使われるので

00001
00012
00123
01234
12345

のように表示されます。
表示幅は相変わらず5桁です。

そうです。

「int(11)」の「11」は、あくまで

表示に関する指定

です。
格納するデータに関する指定ではありません。

「int(11)」だろうと「int(1)」だろうとint型に入れられる値の範囲は

-2,147,483,648 ~ 2,147,483,647(signed)
0 ~ 4,294,967,295(unsigned)


です。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● MySQL  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事