MYSQL 1071 - Specified key was too long;
[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;相关推荐
- 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 ...
- MySQL:Specified key was too long; max key length is 1000 bytes
根据sql脚本初始化数据库表结构和数据报的错,主要原因还是数据库版本不一致,当前版本数据库5.5.32,执行sql时,首先是datetime(0)报错了,改成datetime再执行,就报错Specif ...
- mysql导入报错1071_导入sql文件报错:1071 Specified key was too long; max key length is 767 bytes...
一.背景 今天把服务器的数据库导出了一份sql文件,准备导入到本地,但是在导入的时候,报了个错: Syntax error or access violation: 1071 Specified ke ...
- 深入mysql ON DUPLICATE KEY UPDATE 语法的分析
mysql "ON DUPLICATE KEY UPDATE" 语法 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNI ...
- 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 ...
- oracle中key,mysql中的key在oracle中是什么
mysql中的key在oracle中是什么 说明一下.key在oracle中对应的是什么? 比如说: CREATE TABLE `AdBanner` ( `BannerId` int(8) NOT N ...
- mysql中的key和UNIQUE关键字
#mysql中的key和UNIQUE关键字# CREATE TABLE testTable( id INT KEY, #使用key关键字 email VARCHAR(50) UNIQUE, #使用UN ...
- mysql存储value_MySQL key/value存储方案(转)
需求 250M entities, entities表共有2.5亿条记录,当然是分库的. 典型解决方案:RDBMS 问题:由于业务需要不定期更改表结构,但是在2.5亿记录的表上增删字段.修改索引需要锁 ...
- 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 ...
最新文章
- SQLite管理工具绿色
- matlab 生成几个聚类点函数nngenc函数
- docker 容器安装conposer_docker学习笔记(二)docker-composer
- QT-- MainWindow外的cpp文件调用ui
- 【Python入门】Python之shutil模块11个常用函数详解
- 《剑指offer》字符串的排列
- php截取字符串,带中文,多余的省略号代替
- 程序员应具备的职业素质
- BCGSoft Demo示例展示:对话框示例
- 【Python实例第17讲】均值偏移聚类算法
- 软件测试面试题(一)
- mysql用身份证号判断男女_如何根据身份证号码辨别性别呢
- Unity3D:TCPSocket模块
- 上传Android library到JitPack
- SRAM and DRAM
- xp提示计算机内存不足,xp系统提示配额不足的解决方法
- iOS开发 关于YY_Model中,modelContainerPropertyGenericClass解析数组出现崩溃问题
- 1.1.4实践环节--制作调查问卷
- 存储过程(数组参数、for循环、拼接的动态sql游标、merge into)
- 导出期刊对应格式的参考_EndNote 输出样式模板(根据国家标准制订)
热门文章
- 第29节 实例-osg着色语言框架,包含顶点、细分、几何、片元、计算着色器
- 如何解决3D打印中出现拉丝和垂料问题?
- 商品720vr全景环物制作便捷推送到全世界
- windows10版本区别企业版,专业版,家庭版,教育版
- 领峰环球:炒贵金属注意事项,帮助投资者更好地完成交易
- cubemx 读卡器_STM32CubeMX+Keil实现 STM32F4 SDcard+SPI Flash读卡器
- 【圈子】提升支付宝芝麻信用评分
- 静态库和动态库基于Windows和VScode
- 机器学习可解释性(三)——影响函数(Influence function)推导
- 10个综合管理系统类开源项目,速速拿去练手