MySQL字节超长
报错信息如下:
1 | ERROR 1118 (42000): Row size too large. |
报错的信息很简单,就是创建表的时候,所有字段的字节长度加起来超过了65535
解决的办法就是:
将长的字段格式改成longtext 或者是 longblob
这两个类型的区别是:如果存放二进制文件就用longblob,如果存放长文本,就用longtext
到这里基本能解决了
!!!
如果还是爆超长,则需要查看数据库的字符集类型
需要注意一下字符集:
utf8与utf8mb4区别
utf8 使用1~4个字节,一种变长的编码格式,字符编码。utf8mb4 即most bytes 4,使用4个字节来表示完整的UTF-8
结论:如果数据库的字符集是utf8mb4,那就改成utf8,嗯,排序规则也改 ,65535其实是字节长度,如果是utf8mb4,会算成4个字节,很容易就会超长。