加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql入门MySQL错误“Specified key was too long; max key leng

发布时间:2020-12-12 00:54:49 所属栏目:MySql教程 来源:网络整理
导读:《Mysql入门MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法》要点: 本文介绍了Mysql入门MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法,希望对您有用。如果有疑问,可以联系我们。

《Mysql入门MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法》要点:
本文介绍了Mysql入门MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法,希望对您有用。如果有疑问,可以联系我们。

经过查询才知道,是Mysql的字段设置的太长了,于是我把这两个字段的长度改了一下就好了.

建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000:
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character
举例能看得更明白些,以GBK为例:
CREATE UNIQUE INDEX `unique_record` ON reports (`report_name`,`report_client`,`report_city`);
其中report_name varchar(200),report_client varchar(200),report_city varchar(200)
(200 + 200 +200) * 2 = 1200 > 1000,所有就会报1071错误,只要将report_city改为varchar(100)那么索引就能成功建立.
如果表是UTF8字符集,那索引还是建立不了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读