mysql text 字段写入数据时怎么截取字符串长度防止过长

2019-09-26 12:36:18 +08:00
 rizon

mysql 字段类型设置为 text,也就是最大 6W+的字节长度限制。
与 varchar 直接指定字符数量而不用关心字节大小不同,这样的话当我写入一个长度未知的字符串时,为了防止报错,我要截取字符串,可是怎么截取呢? 难道我要计算字符串的字节大小,然后找到一个合适的位置去截取字符串吗?这有些过于麻烦了啊。 或者我就按照最大长度 4 个字节去计算 ,也就是允许 6w/4 个字符的数量。

1992 次点击
所在节点    程序员
2 条回复
lihongjie0209
2019-09-26 12:54:09 +08:00
长度未知也是有一个范围的 比如说 0 - 6w, 只要在这个范围内, 那么你就不需要担心。

如果不在这个范围内, 那么我建议你换一种数据类型或者数据库。
cnanyi
2019-09-26 12:59:14 +08:00
google 上搜 mysql text
The following sizes assume the database is using the UTF-8 encoding.
TINYTEXT: 255 characters - 255 B. ...
TEXT: 65,535 characters - 64 KB. ...
MEDIUMTEXT: 16,777,215 - 16 MB. ...
LONGTEXT: 4,294,967,295 characters - 4 GB. ...
TEXT vs. ...
Usage Notes.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/604384

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX