MySQL ERROR 1709 (HY000)
创建一张表,其中有个varchar 大字段,并且在这个字段上建索引,结果发现MySQL报错:
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
以下为建表语句:
create table piratebay(
SYS_ID int ,
FILE_NAME VARCHAR(200),
FILE_ID VARCHAR(30),
NUM1 VARCHAR(30),
NUM2 VARCHAR(30),
MAGNET_LINK VARCHAR(500),
PRIMARY KEY (sys_id),
KEY piratebay_n1 (FILE_NAME))
engine=innodb;
MySQL 环境配置:
Server version: 5.6.28-log MySQL Community Server (GPL)
Server characterset: utf8mb4
Db characterset: utf8mb4
解决办法:
(1)查看相关配置并作出如下设置
innodb_large_prefix = ON
innodb_file_format = Barracuda
innodb_file_per_table = ON
(2)修改建表语句,加入 row_format=DYNAMIC
create table piratebay(
SYS_ID int ,
FILE_NAME VARCHAR(200),
FILE_ID VARCHAR(30),
NUM1 VARCHAR(30),
NUM2 VARCHAR(30),
MAGNET_LINK VARCHAR(500),
PRIMARY KEY (sys_id),
KEY piratebay_n1 (FILE_NAME))
engine=innodb row_format=dynamic;
原因:
MySQL 索引只支持767个字节,utf8mb4 每个字符占用4个字节,所以索引最大长度只能为191个字符,即varchar(191),若想要使用更大的字段,mysql需要设置成支持数据压缩,并且修改表属性 row_format ={DYNAMIC|COMPRESSED}
官方解释:
https://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_large_prefix
MySQL ERROR 1709 (HY000)相关推荐
- mysql错误码1709_MySQL5.6出现ERROR 1709 (HY000): Index column size too large问题的解决方法...
一.问题 mysql 5.6 出现如下问题: [ERROR 1709 (HY000): Index column size too large. The maximum column size is ...
- Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...
- linux mysql 1366_Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...
- mysql error 1130 hy000:Host ‘localhost‘ is not allowed to connect to this mysql server 解决方案
mysql error 1130 hy000:Host 'localhost' is not allowed to connect to this mysql server 解决方案 参考文章: (1 ...
- mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法
mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法 mysql 创建用户的时候: create user 'hive' identi ...
- mysql ERROR 1114 (HY000): The table ‘XXX‘ is full
关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 报错: mysql ERROR 1114 (HY000): The table 'XXX' is full 解决方法: 修改 my.cnf 配 ...
- mysql hy000 1005,mysql – ERROR 1005(HY000):无法创建表(errno:150)
当我尝试在 mysql中创建一个表时,我收到一个错误. 任何提示解决吗? create table stock_in( ind int not null auto_increment, itemcod ...
- Mysql ERROR 145 (HY000)
问题:今天Mysql数据库异常关闭,起来之后感觉可以了. 但是运行业务数据的时间就类似如下的错误 ERROR 145 (HY000) at line 34: Table './database_nam ...
- mysql ERROR 1042 (HY000): Can't get hostname for your address
2019独角兽企业重金招聘Python工程师标准>>> mysql 访问vmware中的mysql server,报错. ERROR 1042 (HY000): Can't get ...
最新文章
- 自己看着视频的理解:设计模式之abstractfactory模式(2)
- 富士通台式电脑_英特尔X86架构霸权终将崩塌,ARM架构才是未来PC电脑市场的王者?...
- 分布式服务下,消息中间件改造
- 轮廓处理函数详细(转)
- python自动写作软件_开发了一款写作软件(OSX,Windows),附带Electron开发指南
- 3.3、自定义错误页面
- 19-数据持久化-Bind Mounting
- Struts2框架学习笔记1
- Linux 系统运行速度太慢的关键原因全都在这了
- 转:有效沟通的四种工具
- 佳能mp145/mp140/mp288打印机 e16代码怎么处理
- 2022-2027年中国小麦加工行业市场深度分析及投资战略规划报告
- Coolpad/酷派炫影5890 root教程_方法
- 团队如何开会,开会准则
- 批量添加文件名前后缀的工具_艾孜尔江撰
- 《剑破武林》用户注册协议
- Android开发基础——RecyclerView
- 易数云数据抓取词云图制作
- 【TensorFlow2.0】如何搭建网络模型?
- 普通用户和计算机管理员,软件运行需要管理员权限,怎么让普通用户也能