在设置utf8前,是正常的,设置完后就报错,原因为 uft8占位问题。
MySQL创建一个包含很多字段的表报错:
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
MySQL对于每行存放数据的字节数总和是有限制的,最大字节数为65535,即64k。而这个限制条件,是不包含类型为text和blob的。如果存放的时utf数据,那么64k大概可以存放21845个 utf8字符。
对于大文本字段或大字节字段建议使用text和blob,为了提高查询效率,大文本/大字节字段需要单独出一个子表存放。