【分享】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
解决方案参考:
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,也会报此错误。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix