mysql 报错 Specified key was too long; max key length is 767 bytes

当mysql数据库的字符集使用了utf8mb4,就很容易在执行建表sql的时候报这个错误。

原因:

mysql有个系统变量innodb_large_prefix,
如果开启了,索引键前缀限制为3072字节;
如果禁用了,索引键前缀限制为767字节。

当mysql数据库的字符集使用了utf8mb4,每个字符最大的字节数为4,如果建表语句中,有类似varchar(255)的字段,4*255 > 767,就会报这个错: Specified key was too long; max key length is 767 bytes。

解决:

方法1:varchar(x),x<191,那么4*x<767,就不会报错。

方法2:开启系统变量:innodb_large_prefix,如下操作:

mysql> set global innodb_file_format = BARRACUDA;
Query OK, 0 rows affected (0.00 sec)mysql> set global innodb_large_prefix = ON;
Query OK, 0 rows affected (0.00 sec)

mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix相关推荐

  1. Linux安装mysql报错:Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY

    报错信息: Install  3 Packages (+2 Dependent packages) Total size: 209 M Is this ok [y/d/N]: y Downloadin ...

  2. Mysql报错:SQLIntegrityConstraintViolationException: Duplicate entry ‘xxx‘ for key ‘PRIMARY‘

    这个报错是表示,主键出现重复,错误的原因就是主键的值重复了,解决此类问题就是将插入的值不能是数据库已经有了的主键. 解决 将数据库表的主键根据自己的项目需求,设置是否"自动递增"( ...

  3. mysql报错1062:Duplicate entry ‘xxx‘ for key ‘xxx‘

    输入alter table 表名 add unique(字段名);报错1062, 这是由于此表中想要设置唯一性的字段已经包含了重复的数据,先删除重复数据,再设置即可.

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

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

  5. mysql报错:Duplicate entry ‘xx‘ for key ‘PRIMARY‘ 解决可行方案。已解决

    mysql报错:Duplicate entry 'xx' for key 'xxux1' 解决可行方案.已解决 web开发多次遇到Duplicate entry 'xx' for key 'PRIMA ...

  6. 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 再次执 ...

  7. MySQL报错:Duplicate entry ‘xxx‘ for key ‘xxx‘

    报错信息: Duplicate entry 'xxx' for key 'xxx' 看到这个报错,我心想不就是主键的值重复了吗,可是查看对应的数据库表之后傻眼了,发现压根没有uk_cert_no这个字 ...

  8. 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 ...

  9. mysql报错 DuplicateKeyException分析与解决

    在做数据库同步的时候,发现一个错误,mysql报错如下: org.springframework.dao.DuplicateKeyException: ### Error updating datab ...

最新文章

  1. 多传感器融合技术简介
  2. 【机器学习基础】GBDT 与 LR 的区别总结
  3. [导入]浅析.Net下的AppDomain编程
  4. 一些机器学习数据集(Dataset)
  5. android136 360 拖拽
  6. 数据工程师需要掌握的 18 个 Python 库
  7. Objective-C中小怪兽的逻辑
  8. STSegmentedControl
  9. (转)谷歌安卓官方教程中文版
  10. 创金合信基金公司:专户模式案例
  11. 【转载】六合一调试神器TTL转USB模块
  12. 谷歌联合金山推出谷歌金山词霸
  13. 黑盒测试中的因果图约束条件解释
  14. html链接屏蔽了,js屏蔽广告/屏蔽网站元素/屏蔽网站超链接
  15. 屏幕录制组件(vue) recordrtc
  16. c语言从键盘输入十个整数,冒泡法从大到小排序
  17. Navicat Premium11.0.16 for mac 破解
  18. iOS图案解锁(九宫格)
  19. 乐视 无法播放服务器文件夹,乐视电视最新常见问题及解决方法分享!
  20. [转]直播云平台架构如何构建? 附PPT

热门文章

  1. 面向知识图谱的信息抽取
  2. Tomcat性能优化总结
  3. Echarts富文本rich及格式化工具formatter的使用
  4. 多页面webpack配置
  5. Easyspy网络检测系统
  6. 冲刺阶段(二)第五天 5月16日
  7. Linux下细碎温度等的监控与调整
  8. mybatis学习笔记-01什么是mybatis
  9. typescript箭头函数参数_Typescript 入门基础篇(一)
  10. php 解释语言,php是解释型语言吗