当前位置:  数据库>mysql

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

    来源: 互联网  发布时间:2014-09-06

    本文导语:  经过查询才知道,是Mysql的字段设置的太长了,于是我把这两个字段的长度改了一下就好了。 建立索引时,数据库计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度1000: latin1 = 1 by...

经过查询才知道,是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字符集,那索引还是建立不了。

    
 
 

您可能感兴趣的文章:

  • Mysql查询错误:ERROR:no query specified原因
  • mysql建库时提示Specified key was too long max key length is 1000 bytes的问题的解决方法
  • MySQL里Create Index 能否创建主键 Primary Key
  • mysql外键(Foreign Key)介绍和创建外键的方法
  • mysql出现“Incorrect key file for table”处理方法
  • mysql ON DUPLICATE KEY UPDATE语句示例
  • Mysql中Insert into xxx on duplicate key update问题
  • mysql #1062 –Duplicate entry '1' for key 'PRIMARY'
  • mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决方法
  • 深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析
  • MYSQL的REPLACE和ON DUPLICATE KEY UPDATE语句介绍解决问题实例
  • linux上装mysql过程中有错误 iis7站长之家
  • MySQL的Replace into 与Insert into on duplicate key update真正的不同之处
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql启动错误之mysql启动报1067错误解决方法
  • mysql服务无法启动报错误1067解决方法(mysql启动错误1067 )
  • Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终止。
  • ubuntu mysql配置错误导致无法启动mysql,希望达人前来帮助。
  • 解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)
  • mysql安装过程中的错误
  • MySql 安装时的1045错误
  • mysql段错误
  • mysql 提示INNODB错误的解决方法
  • mysql常见错误集锦
  • linux下mysql提示"mysql deamon failed to start"错误的解决方法
  • mysql数据库的JDBC驱动程序为什么出现错误?
  • linux 下面安装mysql遇到错误
  • Linux 下zabbix server 无法启动,报mysql错误
  • linux下C语言连接mysql数据库编程,如何捕获错误?
  • mysql执行错误
  • linux上装mysql过程中有错误
  • 解决mysql ERROR 1017:Can't find file: '/xxx.frm' 错误
  • 碰到MySQL无法启动1067错误问题解决方法
  • MYSQL中 TYPE=MyISAM 错误的解决方法
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • php安装完成后如何添加mysql扩展
  • MySQL 重装MySQL后, mysql服务无法启动
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • MySQL Workbench的下载安装与使用教程
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3