MySQLのint(11)とvarchar(255)の意味

MySQLのテーブル設計では、int(11)やvarchar(255)という設定がよく出てきます。

このint(11)およびvarchar(255)の11や255が何を指しているのか疑問に思い、今更ながら調べてみました。

結論

int(11)の11は、カラムの表示幅であり、データベースの運用上はあまり意味がない。intのバイト数は、11を10や8に変更しても4バイトであり、結局、2147483647まで格納が可能。

varchar(255)の255は文字数であり(バイト数でない)、UTF-8(3バイト文字)でも、255文字の格納が可能。

結論としては、デフォルトで、int(11)、varchar(255)にして運用すれば特に問題ないらしい。(n)の数字を減らしてもあまり意味が無いみたいです。

参考

http://q.hatena.ne.jp/1190634325

カテゴリー: SQL パーマリンク

コメントを残す

メールアドレスが公開されることはありません。