mysql创建组合索引报错

本文介绍在MySQL数据库中,特别是在使用InnoDB存储引擎和UTF-8字符集时,组合索引长度超出限制的问题及解决办法。当索引长度超过767字节时,会导致创建失败。文章提供了将组合索引拆分为多个单个索引的解决方案。
摘要由CSDN通过智能技术生成

数据库版本:mysql5.7

索引类型:组合索引

存储引擎:innodb

字符集:utf-8

报错:Specified key ‘索引名’ was too long; max key length is 767 byte

原因:组合索引的字段长度超过mysql 的最大限制

mysql数据库对于不同的存储引擎下的单表索引长度限制:

innodb下单表索引最大长度797bytes,myisam最大长度为1000bytes。

由于数据库使用的是utf-8编码,一个字符等于3个字节,换算后innodb表(utf-8下)索引字段最大长度为255,myisam表(utf-8)索引字段长度最大为333。

解决办法:将组合索引拆分为单个索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值