我需要澄清MySQL中varchar字段的最大长度.

我一直认为最大长度是255(我假设是255个什么字符,但这可能是我困惑的原因).看看我们正在合作的一家外部公司建立的数据库的表,我看到一个字段设置为varchar(20000),包含长度超过255个字符的xml块.为什么会这样?20000是有效值吗?

通过谷歌搜索发现,在mysql中,varchar有65535字节的限制,我看到varchar(65535)in use,那么255字节的限制与此有什么关系呢?

推荐答案

请注意MySQL版本.

http://dev.mysql.com/doc/refman/5.0/en/char.html

VARCHAR列中的值是可变长度的字符串.在MySQL 5.0.3之前,长度可以指定为0到255之间的值,在5.0.3及更高版本中,长度可以指定为0到65535之间的值.MySQL 5.0.3及更高版本中VARCHAR的有效最大长度取决于最大行大小(65535字节,在所有列中共享)和使用的字符集.

我有什么版本的MySQL?

运行以下查询...

select version() as myVersion

Mysql相关问答推荐

用于将重复行的唯一列值作为单独列获取的SQL查询

MySQL多次联接同一个表使计数变得奇怪

在 .NET 6 中使用 Dapper Framework 未能成功连接到 MySql

如何创建一个列,该列在另一个表中具有值的计数?

如何用sql找出两次之间的差异

当mysql中只有一个索引列时,为什么使用范围条件锁定读取会锁定每条记录?

从 mysql RDS 导出数据以导入 questDb

在表中找到最大值,然后分别显示SQL组和每个SQL组中的最大值计数

mysql 执行注释部分

进行 MySQL COUNT 查询

WHERE SQL 语句中的列顺序是否重要

减少mysql中的值但不是负数

MySQL 工作台与 phpMyAdmin

函数 mysql_real_escape_string 的 PDO 类似功能是什么?

脚本超时,如果要完成导入,请重新提交相同的文件,导入将恢复

安装 mysql-python (Windows)

Doctrine2 迁移向下迁移并从浏览器而不是命令行迁移

将 Blob 转换为字节数组的最简单方法

为什么 MySQL 自动增量会在插入失败时增加?

MySQL连接查询使用like?