加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

mysql 主键(唯一索引)长度限制为767字节

(2015-07-05 14:47:39)
标签:

mysql

分类: linux

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

database: MySQL 5.5.27

[SQL] create table School (id bigint not null auto_increment, address varchar(255) not null, code varchar(255) not null, contacter varchar(255) not null, createDate datetime, homePage longtext, name varchar(255) not null, phone varchar(255) not null, type varchar(255) not null, updateDate datetime, examOffice_id bigint, primary key (id), unique (name))

[Err] 1071 - Specified key was too long; max key length is 767 bytes

 原因:mysql在建库时选择了utf-8mb4字符集,这个意思是使用utf-8字符集,但每个字符占用4个字节,而不是之前的3个字节,所以指定的主键字段长度只能是191及以下,超过191就会报这个错误.(注:指定为unique的字段会自动成为主键)
 
解决办法:
1- 将数据库的字符集更改为utf-8
2 - 将主键字段的长度修改为191以内

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有