MySQL VARCHAR列的最大长度是多少?
实际上,VARCHAR数据类型将可变长度字符数据存储在单字节和多字节字符中。此数据类型的语法为VARCHAR(n),其中n是最大字符数,并且必须在创建表时指定。在MySQL5.03之前,n的值可以在0到255之间,但是在MySQL5.03之前和之后,n的值可以在0到65,535之间。
VARCHAR中存储的最大字符数取决于最大行大小和使用的字符集。如果我们使用的是ASCII字符集,那么它可以存储65,535个字符,因为ASCII每个字符使用1字节。另一方面,如果我们使用utf8字符集,则字符限制为21,844,因为utf8每个字符使用3个字节。最大行大小限制为65,535字节,这意味着包括所有列在内,其最大长度不能超过65,535字节。
示例
mysql> Create Table var_test(FName Varchar(32765) NOT NULL, LName Varchar(32766)
NOT NULL);上面的查询创建了一个包含两列的表,即FNameVarchar(32765)和LNameVarchar(32766)。因此,总长度为32765+2+32766+2=65535(每列使用2个字节来存储长度)。
mysql> Create Table var_test1(FName varchar(32766) NOT NULL, LName Varchar(32766)
NOT NULL);
ERROR 1118 (42000): Row size too large. The maximum row size for the used
table
type, not counting BLOBs, is 65535. You have to change some columns to TEXT
or BLOBs现在,将长度增加1字节,MySQL就会返回一个错误,如上面的查询所示。
热门推荐
10 身体康复的祝福语简短
11 祝球员赛前祝福语简短
12 祝妹妹毕业祝福语简短
13 女生成年祝福语简短
14 比较简短浪漫的祝福语
15 初八祝福语简短语
16 给表弟的祝福语简短
17 宝宝满月写真祝福语简短
18 收生日红包祝福语 简短