MYSQL创建表出现错误 ERROR Code 1118如何解决

ERROR Code 1118.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建表有一个长度的限制-<MySQL要求每一个行的定义长度不能超过65535字节>

(1)单个字段如果大于65535,则转换为TEXT 。

(2)单行最大限制为65535,这里不包括TEXT、BLOB。

所谓单行最大限制指的就是一张表中所有字段的所设置的长度不得超过65535字节,

例如一个表中有三个varchar字段长度30000,那么这个表的单行长度为:30000*3=90000,

大于65535则报错不能建表,这里乘以3是因为数据库用的utf8编码,3个字节表示一个字符。

因为单行最大限制为65535所以我把字段为varchar(1000)替换为短文本字符串   TINYTEXT

修改之后就创建表成功了

 

posted @ 2020-10-10 16:49  阿星随记  阅读(3749)  评论(0编辑  收藏  举报