varchar(限制)如何工作?

时间:2016-02-23 00:32:08

标签: mysql sql varchar

我一直在使用MySQL,并且非常模糊地理解VARCHAR(This Number Here)部分。该数字是列可以存储的字符总数吗?

例如,假设我有VARCHAR(400) latin1_general_ci,400表示字符串是400字节限制,还是字符串可以有400个字符?我可以在该列变量中存储多大的字符串?

1 个答案:

答案 0 :(得分:1)

这是字段的最大字符串长度(请参阅here)(非字节):

  

声明CHARVARCHAR类型的长度表示您要存储的最大字符数。例如,CHAR(30)最多可包含30个字符。

无论编码如何,都将允许30个字符。

  

VARCHAR列中的值是可变长度字符串。长度可以指定为0到65,535之间的值。 VARCHAR的有效最大长度取决于最大行大小(65,535字节,在所有列之间共享)和使用的字符集。

     

CHAR相反,VARCHAR值存储为1字节或2字节长度前缀加数据。长度前缀表示值中的字节数。如果值不超过255个字节,则列使用一个长度字节;如果值可能需要超过255个字节,则列使用两个长度字节。