LongText长度为什么最大只能设置为65535?

shanyilei018 2012-05-02 04:51:44
我建立了一个表,一个字段类型设置为longtext, 长度想设置的比较大一些,但是总是提示我最大只能设置65535,请问是什么原因?
...全文
3670 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanyilei018 2012-05-02
  • 打赏
  • 举报
回复
我查了my.conf
其中有关max_allowed_packet定义有两处,分别为:
[mysqld]
max_allowed_packet = 1M
[mysqldump]
max_allowed_packet = 16M

我的理解是[mysqld]是对我程序取长字符串有影响的,但是我的长字符串是大于65535B,但是小于1M的,但是我取的时候还是出错,蛮奇怪的是我在存这个长字符串的时候没有问题。
ACMAIN_CHM 2012-05-02
  • 打赏
  • 举报
回复
检查你的系统变量max_allowed_packet,这个控制了你的整个SQL语句的长度。
shanyilei018 2012-05-02
  • 打赏
  • 举报
回复
问题其实是这样的,我存了一个很长的字符串到该列中,长度大于65535,我用C++和mysql交互,存的时候没有问题,但是取的时候发现取的不对了,经过测试怀疑和这个长度有关,上网搜索LONGTEXT

最大长度为4,294,967,295或4GB(232–1)字符的TEXT列。但是为什么我设置的时候提示我最大程度为65535?


rucypli 2012-05-02
  • 打赏
  • 举报
回复
mysql无此限制


· LONGTEXT

最大长度为4,294,967,295或4GB(232–1)字符的TEXT列。


可以的解释是存储longtext的长度用的是两个字节 2的八次方是65536 最长能表示65536个字符

56,801

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧