原因是mysql字段长度设置的太长了, 从而导致mysql在建立索引时,索引长度超过了mysql默认许可的长度

默认 Innodb 允许长度为 767

MyISAM 允许长度为 1000

官方说明 如下:

Prefix support and lengths of prefixes (where supported) are storage engine dependent. For example, a prefix can be up to 767 bytes long for InnoDB tables or 3072 bytes if the innodb_large_prefix option is enabled. For MyISAM tables, the prefix limit is 1000 bytes.

转一份通俗易懂的 [以下内容转自 http://www.jb51.net/article/24499.htm ]

建立索引时,数据库计算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字符集,那索引还是建立不了。

转载于:https://www.cnblogs.com/debmzhang/p/4447313.html

warning:1071 (42000) Specified key was too long;max key length is 1000 bytes相关推荐

  1. mysql导入报错1071_导入sql文件报错:1071 Specified key was too long; max key length is 767 bytes...

    一.背景 今天把服务器的数据库导出了一份sql文件,准备导入到本地,但是在导入的时候,报了个错: Syntax error or access violation: 1071 Specified ke ...

  2. mysql导入报错1071_mysql报错:Specified key was too long; max key length is 767 bytes | 吴老二...

    最近部署的mysql服务,在导入数据后,查询数据时提示:ERROR 1071 (42000) : Specified key was too long; max key length is 767 b ...

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

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

  4. Mysql报错:Specified key was too long; max key length is 767 bytes

    在执行mysql脚本时,报错:Specified key was too long; max key length is 767 bytes. 解决办法: 一.修改mysql的字符集为uft8 再次执 ...

  5. MySQL:Specified key was too long; max key length is 1000 bytes

    根据sql脚本初始化数据库表结构和数据报的错,主要原因还是数据库版本不一致,当前版本数据库5.5.32,执行sql时,首先是datetime(0)报错了,改成datetime再执行,就报错Specif ...

  6. Specified key was too long; max key length is 1000 bytes问题解决

    今天使用帆软的报表平台管理,进行外接数据库配置,尝试多次一直提示数据导入失败 java的报错 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExcep ...

  7. hive 1.1.1 Specified key was too long; max key length is 767 bytes

    错误 hive> create table shop(locationid int,name string,cnname string) row format delimited fields ...

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

    Hive 0.13和HBase 0.98.6.1整合出现错误记录下 hive> CREATE TABLE hbase_table_1(key int, value string) > ST ...

  9. hive的Specified key was too long; max key length is 767 bytes问题解决

    把hive 的metadata配置成mysql,执行命令时报以下错误 hive> show tables; FAILED: Error in metadata: MetaException(me ...

最新文章

  1. 创建本地数据库时发生错误及其解决方案
  2. 初识片选信号和中断控制器
  3. 【Python学习系列二】Python默认编码和Eclipse环境的冲突问题
  4. treeset java_Java TreeSet Higher()方法与示例
  5. Bootstrap 字体与图标
  6. 超细节的QT设计完整界面布局的流程-新手向
  7. c语言式表白,c语言表白必备
  8. OPNsense用户手册-别名
  9. 2018年下半年考试感想
  10. 常用函数式接口及Stream流
  11. Hbuilder安装及使用教程
  12. []int16转[]byte
  13. java抽取word,pdf的四种武器
  14. java语言开发手机游戏_手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系...
  15. 如何使用Snap功能同时运行两个Windows 8应用程序
  16. 关于一些常见/好用的matlab工具箱介绍
  17. 基于数字孪生的机器人焊接自动编程关键技术
  18. Spring的IOC(依赖注入和控制反转)
  19. 看到就是缘分!安徽省(16地市)高企认定申报20问/2022年安徽省申报高企条件流程材料要求内容以外的关键问题汇总
  20. 物联网能否落地?可裁剪嵌入式OS成关键

热门文章

  1. 三星linux打印机驱动官网下载,三星SL-C515驱动
  2. 7.23 ToolTip 实现全介绍
  3. java quickfix_QuickFix Java 讲解(三)客户端的搭建与解析
  4. layui可以动态添加div吗_乳化剂是什么?可以添加到护肤品里吗?
  5. python dbf 修改_在Python中将数据写入dbf时出错
  6. sysbench0.5 mysql_sysbench 0.5安装步骤
  7. java string contains indexof,java.lang.String.contains()方法实例
  8. hannoi塔java程序_基于Java实现的Hannoi汉诺塔自动演示程序
  9. java 断开socket连接_【java serversocket 长连接,客户端断开的问题】-Java技术论坛-ZOL中关村在线...
  10. mysql创建非聚集索引_一文让你明白聚集索引和非聚集索引?