MySQL版本對varchar的定義和限制條件

chenfeng發表於2016-08-09
   4.0版本以下,varchar(50),指的是50位元組,如果存放UTF8漢字時,只能存16個(每個中文3位元組)
   5.0版本以上,varchar(50),指的是50字元,無論存放的是數字、字母還是UTF8中文(每個中文3位元組),都可以存放50個 
儲存限制
   需要額外佔用位元組存放字元的長度:小於255為1個位元組,大於255則要2個位元組
編碼限制
   gbk :每個字元最多佔用2個位元組
   utf8:每個字元最多佔用3個位元組
   utf8mb4 每個字元最多佔用4個位元組,中文佔3個位元組,emoji表情符號 佔用4個位元組 
長度限制
   MySQL定義行的長度不能超過65535,該數值限制了列的數目,比如char(128) utf8字符集,最多有65535/(128*3)=170個漢字。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2123233/,如需轉載,請註明出處,否則將追究法律責任。

相關文章