1.发现问题 今天在修改innodb表的某个列的长度时,报如下错误: alter table test2 modify column id varchar(500); ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes alter table test2 modify column id varchar(500); ERROR 1071 (42000): Specified key was too…
问题 create table: Specified key was too long; max key length is 767 bytes   原因 数据库表采用utf8编码,其中varchar(255)的column进行了唯一键索引 而mysql默认情况下单个列的索引不能超过767位(不同版本可能存在差异)   于是utf8字符编码下,255*3 byte 超过限制   解决 1  使用innodb引擎: 2  启用innodb_large_prefix选项,将约束项扩展至3072byt…
问题 create table: Specified key was too long; max key length is 767 bytes 原因 数据库表采用utf8编码,其中varchar(255)的column进行了唯一键索引 而mysql默认情况下单个列的索引不能超过767位(不同版本可能存在差异) 于是utf8字符编码下,255*3 byte 超过限制 解决 1 使用innodb引擎: 2 启用innodb_large_prefix选项,将约束项扩展至3072byte: 3 重新创…
1.建用户信息表 tb_person_info create table tb_person_info( user_id int(10) auto_increment, `name` varchar(32) default null, gender varchar(2) default null, profile_img varchar(1024) default null, email varchar(1024) default null, enable_status int(2) not n…
[Err] 1071 - Specified key was too long; max key length is 767 bytes 这个会出现在MySQ5.7以下版本 因为没有启用innodb_large_prefix MySQL 5.6: MySQL 5.7: 简单办法:如果要求不是很高 ,也可以直接把表字段varchar(255)设置为varchar(64) 另外一种:修改配置 (重启服务会失效) mysql> show variables like '%innodb_large_pr…
今天在MySQL 5.6版本的数据库中修改InnoDB表字段长度时遇到了"ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes"错误,第一次遇到这个错误,遂花了点学习.研究过.总结这个问题. 我们先来创建一个测试表,构造这样的错误. mysql> use MyDB; Reading table information for completion of table and colum…
今天在学习laravel的路由模型绑定时,在按照文档执行php artisan migrate时报错. In Connection.php line 664: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(…
环境介绍 Django (2.1)  Python 3.5.5 mysqlclient (1.4.2.post1) Mysql 5.6.28 RHEL 7.3 在migrate时候报错 model代码如下 class EnvironmentVariable(models.Model): """ 环境变量表 """ application = models.ForeignKey(Application, verbose_name="所属应…
ref: https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes 转载 https://blog.csdn.net/LJFPHP/article/details/80406907 一.背景 今天把服务器的数据库导出了一份sql文件,准备导入到本地,但是在导入的时候,报了个错: Syntax error or access violation: 1…
[文章来源]http://blog.csdn.net/cindy9902/article/details/6215769 MySQL: ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 今天测试遇到了这样的问题: MySQL> use test; create table test(a varchar(512) primary key, b varchar(1024)); Database ch…
在使用utf8mb4字符集的情况下,如果列存在索引,那么varchar的最大长度是191 数据库版本: 在使用utf8字符集的情况下,如果列存在索引,那么varchar的最大长度是255. 在大字段上创建索引时,有时会碰到下面的错误 ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes. 1. 错误原因 由于 MySQL Innodb 引擎表索引字段长度的限制为 767 字节,因…
折腾了两天的错误,BError: (pymysql.err.InternalError) (1071, u‘Specified key was too long; max key length is 767 bytes‘) [SQL: u‘\nCREATE TABLE migrate_ver 2018-01-02 10:32:40.924 76081 ERROR oslo_db.sqlalchemy.exc_filters [-] DBAPIError exception wrapped fro…
Specified key was too long; max key length is 767 bytes 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: MySql.Data.MySqlClient.MySqlException: Specified key was too long; max key length is 767 bytes 给Context增加如下的注解 [DbConfigu…
在用EF的CodeFirst操作MySql时,提示 Specified key was too long; max key length is 767 bytes错误,但数据库和表也建成功了.有高人知道怎么解决吗?…
Specified key was too long; max key length is 767 bytes 此错误为hive 元数据mysql 字符集编码问题 如 show create table PARTITIONS ; utf-8会报上述错误. 要把CHARSET=utf-8 修改为 CHARSET=latin1: alter table PARTITIONS convert to character set latin1; 所以最好在hive 建库之初就设置好字符集编码 alter…
在进行Hive集成Mysql作为元数据过程中.做全然部安装配置工作后.进入到hive模式,运行show databases.运行正常,接着运行show tables:时却报错. 关键错误信息例如以下: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes) 详细操作信息例如以下: hive> show databases;…
今天在练习hive的操作时,在创建数据表时,遇到了异常 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too l…
error:flask,sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1071, 'Specified key was too long; max key length is 767 bytes') 分析:数据库类型字符不对(默认latin) 解决:ALTER DATABASE `databasename` CHARACTER SET utf8;…
hive 安装完成后创建表的时候出现错误 NestedThrowablesStackTrace:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect…
问题描述: 1.  使用spark sql处理数据逻辑,逻辑处理后使用 df.write.mode(saveMode).jdbc(url, tableName, connectionProperties)将数据写入mysql,创建的数据结构为: CREATE TABLE `userinfo` ( `userId` TEXT NULL COLLATE 'utf8mb4_unicode_ci', `name` TEXT NULL COLLATE 'utf8mb4_unicode_ci', `mobi…
操作重现: 法1:新建连接——>新建数据库——>右键数据库导入脚本——>提示:Specified key was too long; max key length is 767 bytes 法2:新建连接——>新建数据库——>新增查询——>复制脚本中的内容,运行——>提示:Specified key was too long; max key length is 767 bytes 原因: MySQL的varchar主键只支持不超过768个字节 或者 768/2=…
MySQL) )); Database changed ERROR (): Specified bytes drop table if exists test; ) primary key)charset=latin5; -- 成功 drop table if exists test; ) primary key)charset=latin5; -- 错误 -- ERROR 1071 (42000): Specified key was too long; max key length is 7…
废话不多说,报错如下: DataNucleus.Datastore (Log4JLogger.java:error(115)) - An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytescom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified…
1.原因:在进行 迁移文件生成时,程序并未给varchar类型字段设置 合适的长度,导致报错. 2.解决办法:找到database/ 目标迁移文件,修改其中类型为string的字段长度,建议不要超过255,否则报错 [然后再次运行php artisan migrate 即可成功] 示例: MySQL: ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 今天测试遇到了这样的问题: MySQL> u…
alter table - engine=innodb,row_format=dynamic; Specified key was too long; max key length is 767 b…
今天导入一个数据库时,看到以下报错信息: Specified key was too bytes 直译就是索引键太长,最大为767字节. 查看sql库表文件,发现有一列定义如下: 列   名:contact 列属性:varchar 列长度:1024 接下来,定义该列为索引. 解决办法: 我的办法也许简单粗暴了一些-- alter table 表名 modify column contact varchar();…
情况描述 Hive建表时报错,元数据存储在mysql中. 报错信息 如下: FAILED: Execution Error, bytes com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too bytes at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.Native…
1.问题描述 在导入同事提供的一个sql文件时候,出现了一个1071错误,总结学习一下: 2.分析问题 错误的字面意思是说mysql字段设置的值太长了,不能大于767个字节,在网上找了一些资料后才知道原理: 当我们给表建立索引时,数据库会计算key的长度是累加所有Index用到的字段的char长度后再按下面比例乘起来不能超过限定的key长度(myisam和innodb存储引擎下长度限制分别为1000 bytes和767 bytes) latin1 = 1 byte = 1 character u…
由于 MySQL Innodb 引擎表索引字段长度的限制为 767 字节,因此对于多字节字符集的大字段(或者多字段组合索引),创建索引会出现上面的错误. 以 utf8mb4 字符集 字符串类型字段为例:utf8mb4 是 4 字节字符集,则默认支持的索引字段最大长度是: 767 字节 / 4 字节每字符 = 191 字符,因此在 varchar(255) 或 char(255) 类型字段上创建索引会失败. 解决方法: 1.使用NuGet引用MySQL.Data.Entities. 2.在你的Db…
错误截图: 解决方法: 用root进入mysql终端,执行以下命令: alter database hive character set latin1;…