【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1.0
【遇到的问题:问题现象及影响】
表字段设置成TEXT类型,添加数据的时候这个字段报错:Data truncation: Data too long
这个字段的字符串长度是:62852
【附件:截图/日志/监控】
【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1.0
【遇到的问题:问题现象及影响】
表字段设置成TEXT类型,添加数据的时候这个字段报错:Data truncation: Data too long
这个字段的字符串长度是:62852
【附件:截图/日志/监控】
https://docs.pingcap.com/zh/tidb/stable/data-type-string#text-类型
文本串。最大列长为 65,535 字节。可选的 M 参数以字符为单位,用于自动选择
TEXT
列的最合适类型。例如TEXT(60)
会产生一个TINYTEXT
数据类型,最多可容纳 255 字节,即容纳一个 60 字符的 UTF-8 字符串,每个字符最多包含 4 字节(即 4×60=240)。不推荐使用 M 参数。
这个文档上解释了,列长的单位是65535字节。然而一个字符,如果是utf8_mb4这个默认的字符集,一个字符是4个字节。
所以你这个字符串有62852个字符,但是字节数可能根据你设置的字符集已经超过了。
你是对的,我以为text了就是6m大小
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。