修改Mysql索引长度限制解决767 byte限制问题

 更新时间:2024年03月29日 09:38:39   作者:贝小贝貝  
这篇文章主要介绍了修改Mysql索引长度限制解决767 byte限制问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

报错

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

原因

msyql5.6及以前版本, 默认索引最大长度767bytes

若使用utf8mb4格式编码(utf8字符占用3字节,utf8mb4字符占用4字节)

则单个字段长度不能超过191

5.7及之后版本, 限制放开到3072 bytes

解决方案

一、将数据库版本升级到5.7版本或以上

二、修改相关配置,增加操作以解决

解决方案如下:

  • 1、在my.ini中修改配置:
innodb_large_prefix = ON 
innodb_file_format = Barracuda 
innodb_file_per_table = ON
  • 2、在create中添加row_format=dynamic
create table sql_test(
id int ,
name VARCHAR(200),
server_id VARCHAR(30),
id_num1 VARCHAR(30),
id_num2 VARCHAR(30),
link VARCHAR(500),
PRIMARY KEY (id),
KEY sql_test_name (name)) 
engine=innodb row_format=dynamic;

这样做的缺点

会造成查询性能下降

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 服务器上的mysql实现读取sql文件

    服务器上的mysql实现读取sql文件

    这篇文章主要介绍了服务器上的mysql实现读取sql文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MySQLMerge存储引擎

    MySQLMerge存储引擎

    MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。本文给大家介绍MySQLMerge存储引擎,需要的朋友参考下吧
    2016-03-03
  • Xampp中mysql无法启动问题的解决方法

    Xampp中mysql无法启动问题的解决方法

    最近有朋友反映遇到了xampp的mysql启动不了这种情况,该怎么办呢,所以下面这篇文章主要给大家介绍了关于Xampp中mysql无法启动问题的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • MYSQL8 通过ibd文件恢复表数据的方法

    MYSQL8 通过ibd文件恢复表数据的方法

    这篇文章主要介绍了MYSQL8 通过ibd文件恢复表数据的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别

    MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别

    本文给大家分享的是mysql索引中的KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别,即主键索引,唯一索引和普通索引的区别,希望大家能够喜欢
    2017-07-07
  • MySQL通配符与正则表达式搜过滤数据详解

    MySQL通配符与正则表达式搜过滤数据详解

    简单来说,正则表达式就是用来匹配文本的特殊字符串,下面这篇文章主要给大家介绍了关于MySQL通配符与正则表达式搜过滤数据的相关资料,文中通过实例代码以及图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • MySQL中基本的用户和权限管理方法小结

    MySQL中基本的用户和权限管理方法小结

    这篇文章主要介绍了MySQL中基本的用户和权限管理方法小结,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • 浅谈MySQL之select优化方案

    浅谈MySQL之select优化方案

    我们是否看到过在公司中许多查询语句都是select * xxxx,本文就主要介绍了MySQL之select优化方案,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • 详解mysql数据库增删改操作

    详解mysql数据库增删改操作

    这篇文章主要介绍了mysql数据库增删改操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Mysql分组查询每组最新一条数据的三种实现方法

    Mysql分组查询每组最新一条数据的三种实现方法

    我们在开发中经常会遇到分组查询最新数据的问题,下面这篇文章主要给大家介绍了关于Mysql分组查询每组最新一条数据的三种实现方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01

最新评论