1.首先理解varchar(n),n表示什么
MySQL5.0.3之前varchar(n)這里的n表示字節數
MySQL5.0.3之后varchar(n)這里的n表示字符數,比如varchar(200),不管是英文還是中文都可以存放200個
n最大可以是多少
2.MySQL行長度
MySQL要求一個行定義長度不能超過65535個字節,不包括text、blob等大字段類型,varchar長度受此長度限制,和其他非大字段加起來不能超過65535個字節.
3.varchar(n)占用幾個字節
varchar(n)占用幾個字節跟字符集有關系:
字符類型若為gbk,每個字符占用2個字節
字符類型若為utf8,每個字符最多占用3個字節
4.varchar最大長度可以是多少
根據字符集,字符類型若為gbk,每個字符占用2個字節,最大長度不能超過32766,字符類型若為utf8,每個字符最多占用3個字節,最大長度不能超過21845,若超過這個限制,則會自動將varchar類型轉為mediumtext或longtext