[SQL] Query bak start
[ERR] 1071 - Specified key was too long; max key length is 767 bytes

主键字段过长。
1.在mysql 5.5.3之前,mysql的InnoDB引擎,要求设置的主键长度不得超过767bytes。
mysql的MyIsam引擎的主键长度不得超过1000 bytes。
2.在mysql中,gbk字符集会占用2个字节。utf8字符会占用3个字节。
而且从mysql5.5.3之后的版本,mysql 开始支持utf8m4字符,代表着一个字符占用4个字节。

当时建库是用的utf8m4

(255+10+10)*3 = 825  //在用utf8作为字符集的时候,超过了规定的767 bytes
(255+10+10)*2 = 550  //当该用gbk作为字符集的时候
(255+10+10)*4 = 1100  //当用utf8m4作为字符集的时候,也超标了

解决方法把联合主键的长度变小点。当然这只适合练习用。

常规方法应该是升级mysql版本。

因为mysql5.7版本的字节最大长度为3072。

MYSQL 1071 - Specified key was too long;相关推荐

  1. PDOException::(“SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;

    运行php artisan migrate报错 PDOException:: ("SQLSTATE[42000]: Syntax error or access violation: 107 ...

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

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

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

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

  4. 深入mysql ON DUPLICATE KEY UPDATE 语法的分析

    mysql "ON DUPLICATE KEY UPDATE" 语法 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNI ...

  5. Laravel5.6 migrate时报错 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too

    Laravel 5.*默认使用utf8mb4字符编码,而不是之前的utf8编码.因此运行php artisan migrate 会出现如下错误: [Illuminate\Database\QueryE ...

  6. oracle中key,mysql中的key在oracle中是什么

    mysql中的key在oracle中是什么 说明一下.key在oracle中对应的是什么? 比如说: CREATE TABLE `AdBanner` ( `BannerId` int(8) NOT N ...

  7. mysql中的key和UNIQUE关键字

    #mysql中的key和UNIQUE关键字# CREATE TABLE testTable( id INT KEY, #使用key关键字 email VARCHAR(50) UNIQUE, #使用UN ...

  8. mysql存储value_MySQL key/value存储方案(转)

    需求 250M entities, entities表共有2.5亿条记录,当然是分库的. 典型解决方案:RDBMS 问题:由于业务需要不定期更改表结构,但是在2.5亿记录的表上增删字段.修改索引需要锁 ...

  9. mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix

    mysql 报错 Specified key was too long; max key length is 767 bytes 当mysql数据库的字符集使用了utf8mb4,就很容易在执行建表sq ...

最新文章

  1. SQLite管理工具绿色
  2. matlab 生成几个聚类点函数nngenc函数
  3. docker 容器安装conposer_docker学习笔记(二)docker-composer
  4. QT-- MainWindow外的cpp文件调用ui
  5. 【Python入门】Python之shutil模块11个常用函数详解
  6. 《剑指offer》字符串的排列
  7. php截取字符串,带中文,多余的省略号代替
  8. 程序员应具备的职业素质
  9. BCGSoft Demo示例展示:对话框示例
  10. 【Python实例第17讲】均值偏移聚类算法
  11. 软件测试面试题(一)
  12. mysql用身份证号判断男女_如何根据身份证号码辨别性别呢
  13. Unity3D:TCPSocket模块
  14. 上传Android library到JitPack
  15. SRAM and DRAM
  16. xp提示计算机内存不足,xp系统提示配额不足的解决方法
  17. iOS开发 关于YY_Model中,modelContainerPropertyGenericClass解析数组出现崩溃问题
  18. 1.1.4实践环节--制作调查问卷
  19. 存储过程(数组参数、for循环、拼接的动态sql游标、merge into)
  20. 导出期刊对应格式的参考_EndNote 输出样式模板(根据国家标准制订)

热门文章

  1. 第29节 实例-osg着色语言框架,包含顶点、细分、几何、片元、计算着色器
  2. 如何解决3D打印中出现拉丝和垂料问题?
  3. 商品720vr全景环物制作便捷推送到全世界
  4. windows10版本区别企业版,专业版,家庭版,教育版
  5. 领峰环球:炒贵金属注意事项,帮助投资者更好地完成交易
  6. cubemx 读卡器_STM32CubeMX+Keil实现 STM32F4 SDcard+SPI Flash读卡器
  7. 【圈子】提升支付宝芝麻信用评分
  8. 静态库和动态库基于Windows和VScode
  9. 机器学习可解释性(三)——影响函数(Influence function)推导
  10. 10个综合管理系统类开源项目,速速拿去练手