MySQL VARCHAR列的最大长度是多少?
实际上,VARCHAR数据类型以单字节和多字节字符存储可变长度字符数据。此数据类型的语法为VARCHAR(n),其中n是最大字符数,在创建表时必须指定。在MySQL 5.03之前,n的值可以是0到255之间,但在MySQL 5.03及以后,值可以在0到65,535之间。
VARCHAR中存储的最大字符数取决于最大行大小和使用的字符集。如果使用ASCII字符集,则可以存储65,535个字符,因为ASCII每个字符使用1个字节。另一方面,如果使用utf8字符集,则字符限制将为21,844,因为utf8每个字符将使用3个字节。最大行大小限制为65,535字节,这意味着包括所有列在内,它不能超过65,535字节。
阅读更多:MySQL 教程
示例
上面的查询创建了一个具有两列的表,FName Varchar(32765)和LName Varchar(32766)。因此,总长度为32765+2+32766+2=65535(每个列使用2个字节来存储长度)。
现在,将长度增加1个字节,MySQL返回一个错误,如上面的查询所示。