【分享】mysql 一些边缘值

Specified key was too long; max key length is 767 bytes;

在数据库中,索引的字段设置太长了,导致不支持。【根本原因:5.6+版本的innodb大长度前缀默认是关闭的】。

mysql建立索引时,数据库计算key的长度是累加所有index用到的字段的char长度,在按照下面的比例乘起来

不能超过限定的key长度767:

latin1 = 1 byte = 1 character

uft8 = 3 byte = 1 character

utf8mb4 = 4byte = 1character

gbk = 2 byte = 1 character

解决方案参考:

MySQL5.6建索引时遇到 Specified key was too long; max key length is 767 bytes错误提示解决办法_specified key was too long 767_牛奶咖啡13的博客-CSDN博客

Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535

出错原因:这是由于MySQL要求一个行的定义长度不能超过65535而导致的,具体而言:

(1)单行最大超过65535(这里不包括TEXT、BLOB),则会报此错误;

(2)单个字段如果大于65535,也会报此错误。

mysql新增字段报错:Row size too large. The maximum row size for the used table type, not counting BLOBs, is_8.0 版本数据库 创建字段报错 row size-CSDN博客

你可能感兴趣的:(开发心得,mysql,数据库,mysql,数据库,sql)