myql字節和字符

4.0版本如下,varchar(20),指的是20字節,若是存放UTF8漢字時,只能存6個(每一個漢字3字節);sql

5.0版本以上,varchar(20),指的是20字符,不管存放的是數字、字母仍是UTF8漢字(每一個漢字3字節),均可以存放20個,最大大小是65532字節 ;編碼

varchar(20)在Mysql4中最大也不過是20個字節,可是Mysql5根據編碼不一樣,存儲大小也不一樣,具體有如下規則:索引

1) 存儲限制
varchar 字段是將實際內容單獨存儲在聚簇索引以外,內容開頭用1到2個字節表示實際長度(長度超過255時須要2個字節),所以最大長度不能超過65535。
2) 編碼長度限制
字符類型若爲gbk,每一個字符最多佔2個字節,最大長度不能超過32766;
字符類型若爲utf8,每一個字符最多佔3個字節,最大長度不能超過21845。
若定義的時候超過上述限制,則varchar字段會被強行轉爲text類型,併產生warning。字符

相關文章
相關標籤/搜索