mysql中的text长度到底是多少?

jzinfo 2010-12-28 03:12:47
官方说是2的16次方个字符,就是65536个字符

我插入3.7万个汉字 就说data too long ?
...全文
2368 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
FoxyWinner 2021-06-23
  • 打赏
  • 举报
回复 1

『在UTF-8编码中,一个中文字符等于三个字节,一个中文标点符号占三个字节;一个英文字符等于一个字节,一个英文标点占一个字节;一个数字符号等于一个字节。』

MySQL要求一个行定义长度不能超过65535个字节(而不是字符)。3 * 3.7万 显然大于65536个字节。

liuyuhua0066 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 everyou 的回复:]
字段类型改成clob就行了
[/Quote]MySql 没有clob吧。那你用LONGTEXT吧。
huanhuaxi_ 2010-12-28
  • 打赏
  • 举报
回复
text:一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。既然text不够,那就用mediumtext(16777215字符)和LONGTEXT (4294967295字符)。
  • 打赏
  • 举报
回复
字段类型改成clob就行了
jzinfo 2010-12-28
  • 打赏
  • 举报
回复
我即使使用 3W个汉字

他也报错

报的是 Incorrect string value: '\xE8\x89\xBA\xE5\xBD\x95

utf8编码 全部都是
liuyuhua0066 2010-12-28
  • 打赏
  • 举报
回复 2
一个汉字相当于两个字符。3.7万*2 >65536

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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