mysql报错 unknowError 1118

原因

出现以上错误原因是:

MYSQL建表有长度限制 MySQL要求每一个行的定义长度不能超过65535字节

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

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

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

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

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

解决

建议表拆分,或者合理修改其他字段应使用的长度,合理分配长度

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

或者替换Text blob都可以

你可能感兴趣的:(JavaWeb开发,奇怪Bug及不常见问题总结,数据库,mysql,数据库)