我需要澄清一下MySQL中varchar字段的最大长度。
我一直认为最大长度是255 (255什么?字符,但这可能是我困惑的一个来源)。看一看我们正在与之合作的外部公司建立的数据库的表,我看到一个字段设置为varchar(20000),其中包含超过255个字符的xml块。为什么这是可行的?20000是有效值吗?
谷歌一下发现,在mysql中,varchar有65,535字节的限制,我看到varchar(65535) in use,那么255的限制与此有什么关系呢?
发布于 2009-08-20 01:21:01
注意MySQL版本。
http://dev.mysql.com/doc/refman/5.0/en/char.html
VARCHAR列中的
值是可变长度的字符串。在MySQL 5.0.3之前,长度可以指定为0到255之间的值;在5.0.3和更高版本中,长度可以指定为0到65,535之间的值。在MySQL 5.0.3和更高版本中,VARCHAR5.0.3和更高版本的有效最大长度取决于最大行大小(65,535字节,在所有列之间共享)和所使用的字符集。
我有什么版本的MySQL?
运行以下查询...
select version() as myVersion发布于 2009-08-20 01:19:46
它从5.0.3版开始有效,当时他们将最大长度从255更改为65535。
CHAR始终最大为255。
http://dev.mysql.com/doc/refman/5.0/en/char.html
发布于 2009-08-20 01:19:48
如果您期望的输入太大,最好使用TEXT、MEDIUMTEXT或LONGTEXT。
https://stackoverflow.com/questions/1303476
复制相似问题