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 婆婆高寿祝福语大全简短