MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办

转载 2012年03月31日 12:52:08
MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法
阅读:13次   时间:2011-12-02 05:16:06   字体:[大 中 小]
经过查询才知道,是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字符集,那索引还是建立不了。




4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节 
Mysql4中最大也不过是20个字节,但是Mysql5根据编码不同,存储大小也不同。 

相关文章推荐

Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes

在进行Hive集成Mysql作为元数据过程中,做完所有安装配置工作后,进入到hive模式,执行show databases;执行正常,接着执行show tables;时却报错。 关键错误信息如下: ...

Hive 创建表报"Specified key was too long; max key length is 767 bytes" 错误

Hive元数据库使用MySQL数据库,在使用Hive创建表的时候,报了以下错误: hive> create table base ( id int, name string, address...

MySQL: ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

今天测试遇到了这样的问题: mysql>  use test; create table test(a varchar(512) primary key, b varchar(1024)); Dat...

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

或者说,如下错误: Specified key was too long; max key length is 1000 bytes;这是由于索引长度超出了限制,故创建失败。解决办法:将有索引的列长度...

MySQL-001-specified key was too long ; max key length is 767 bytes

我们先分析下这是个什么问题:指定的键太长了,键的最大长度是767字节。这是我在往MySQL里跑数据库脚本的时候遇到的!这是我从服务器上down下来的,服务器就是用的MySQL,为什么本地不行呢?所以脚...

关于Django出现Specified key was too long; max key length is 767 bytes的解决办法

最近在开发Django网站,但是当我从腾讯蓝鲸上面将代码签到本地运行的时候,系统提示运行python manage.py migrate来进行数据库的同步,但是运行时一直出现OperationalEr...

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

使用hive的cli创建table报Specified key was too long; max key length is 767 bytes

在hive中创建table是报长度越界的错误:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DD...

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

Hive和HBase整合

hive执行命令Specified key was too long; max key length is 767 bytes 问题

在进入Hive后可以show databases; 但create table, show tables;等命令都报错,如下: [ihadoop@Master ~]$ cd /home/ihadoo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)