CHAR字段的最大长度为255来自何处?

时间:2011-02-10 09:43:51

标签: mysql

我的意思是255在计算机科学的背景下看起来并不自然。

我猜它与256相关,在同一个环境中更有意义,但我不知道如何。

2 个答案:

答案 0 :(得分:4)

一个字节= 8位。 2 ^ 8 == 256个不同的值,但你必须处理0,所以范围是0-255。

答案 1 :(得分:1)

根据文档:http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

  

CHAR(M)M×w字节,0 <= M <= 255,其中w是字符集中最大长度字符所需的字节数
  VARCHAR(M),VARBINARY(M)L + 1个字节,如果列值需要0 - 255个字节,L + 2个字节,如果值可能需要超过255个字节

CHAR是固定长度类型 - 它始终存储字符串的最大长度,无论字符串是否全部使用它;然而,它将使用1个字节来存储实际字符串长度。

VARCHAR是可变长度的,它将只存储所需的字节数,加上一个或两个字节来保持其长度。字符最多为255个字节,长度为1个字节,字符为65533个字节,长度为2个字节。