MySQL text类型出现报错 Data truncation: Data too long for column...

MySQL 5.7

数据库字段类型为:text

 

代码中限制了长度为50000

 

结果出现异常

 

结论:

MySQL5以上版本中

varchar类型的长度限制是以字符数为单位的,比如:“你好”是2个字符

text类型则是以字节数为单位的,这里我们的数据库字段编码为utf8mb4,每个中文字符占3个字节,所以“你好”是6个字节,我们可以通过如下方式查看当前值的字节数

 

 也就是说,text类型的字段实际上只能保存 65535 / 3 = 21845 个中文字符! (MEDIUMTEXT 和 LONGTEXT 类型也是同理)

记住了吗???

 

posted @ 2023-05-14 11:10  EEEEET  阅读(839)  评论(0编辑  收藏  举报