varchar(n)

varchar(n) nは数字 文字数を意味する

charとは対照的で
varcharの値は必要な文字数と長さを記録。

65535まで指定はできるが
Row size(行サイズ)とCharacter set(文字コード)で左右される

65535まで設定はできる。
カラムが1つ限定で考えた場合どうなん?

UTF-8が1文字は1〜3バイト。MySQLは1文字3バイトと仮定で、UTF-8だと65535/3でVARCHAR(21845)くらいが最大値?
行サイズやVARCHARの長さの記録も加味すると、
現実的にはVARCHAR(21845)でカラムは作れへん。

大きすぎるVARCHARはMEDIUMTEXTとして定義されるらしい。

varchar(255)は

文字数カウント:1バイト
文字列格納:255バイト
最大容量:256バイト
varchar(256)は

文字数カウント:2バイト
文字列格納:256バイト
最大容量:258バイト

大した違いではないから割りとどうでもいい。
個人的には気持ちよさでvarchar(255)

投稿者: みずがめ座

パスワード保護された記事があります。お問い合わせからどうぞ。