`

1071 - Specified key was too long; max key length is 767 bytes

阅读更多
MySQL数据批量导入完毕后执行执行如下SQL(创建索引):
CREATE INDEX `recipe_form_index` USING BTREE ON `audit_form`(`zone_id`,`type`,`event_nos`)


错误信息:
1071 - Specified key was too long; max key length is 767 bytes

原因是event_nos的字段值长度允许最大是1000,而在库中实际存储最大长度,查询如下:
mysql> select length(event_nos) from `audit_form` order by CHAR_LENGTH(`event_nos`) DESC limit 1;
+-------------------+
| length(event_nos) |
+-------------------+
|               89 |
+-------------------+
1 row in set

mysql>


由此可见最大长度是89,由此在建立索引的语句调正如下:
CREATE INDEX `recipe_form_index` USING BTREE ON `audit_form`(`zone_id`,`type`,`event_nos`(89));


当然,不建议限制长度为89,最好比实际大一点(最大是255),还是要随机应变的!

MySQL慢查询分析案例
分享到:
评论

相关推荐

    MySQL错误“Specified key was too long; max key length is 1000 bytes”的解决办法

    max key length is 1000 bytes”。这个错误意味着你试图创建的索引键(key)超过了MySQL允许的最大长度。MySQL对每个表的每个索引都有一个最大长度限制,通常是1000字节。这个限制包括了所有被索引字段的长度。 在...

    mysql建库时提示Specified key was too long max key length is 1000 bytes的问题的解决方法

    ### MySQL建库时提示“Specified key was too long; max key length is 1000 bytes”的问题解析及解决方法 #### 问题背景 在使用MySQL进行数据库表结构设计时,可能会遇到“Specified key was too long; max key ...

    nacos-server-1.1.4.txt

    nacos-server-1.1.4 windows下的运行程序 springcloud alibaba

    用sql命令修改数据表中的一个字段为非空(not null)的语句

    ALTER TABLE table1 ALTER COLUMN ... 您可能感兴趣的文章:sql server建库、建表、建约束技巧mysql建库时提示Specified key was too long max key length is 1000 bytes的问题的解决方法Mysql 建库建表技巧分享SQL S

    nacos-server-1.2.0.zip

    max key length is 767 bytes 解决方案1: 直接缩短到255长度 解决方案2: 修改数据库配置, set innodb_large_prefix=on 吐槽一下, 1.2.0版本比1.1.4版本多创建一个数据表, 为甚么前面的sql有引擎,有...

    解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]

    Illuminate\Database\QueryException : 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_...

    Bugfree3.0.4安装部署说明书

    - 如果在安装过程中遇到“Specified key was too long: max key length is 767 bytes”的错误,需要修改`\Apache2.2\htdocs\bugfree\install\schema.php`文件中的相关字段长度。 通过以上步骤,你应该能够成功地在...

    Joomla网站中数据导入导出问题

    - **错误原因**:在导入前,可能会遇到“Specified key was too long; max key length is 1000 bytes”的错误。这是由于MySQL的限制导致的。 - **解决方法**: 1. 打开导出的SQL文件,查找并定位到以下两行: ``` ...

    laravel执行php artisan migrate报错的解决方法

    SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes ``` 这个错误通常发生在创建或修改具有较大数据长度的索引时,尤其是在使用了InnoDB引擎的情况...

    Bochs - The cross platform IA-32 (x86) emulator

    - When x86-64 support is compiled in, you could enable/disable long mode 1G pages support without recompile using new CPUID option in .bochsrc. Configure options: --enable-mmx, --enable-sse, --...

    BobBuilder_app

    String Keys are UTF8 encoded and limited to 60 bytes if not specified otherwise (maximum is 255 chars). Support for long string Keys with the RaptorDBString class. Duplicate keys are stored as a WAH ...

    解决在laravel中auth建立时候遇到的问题

    第一个错误是“索引太长”,具体表现为SQLSTATE[42000]:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes。这个错误通常发生在为字段创建索引时,特别是当MySQL...

    php.ini-development

    On production servers, 4096 bytes is a good setting for performance ; reasons. ; Note: Output buffering can also be controlled via Output Buffering Control ; functions. ; Possible Values: ; On = ...

    在EF中使用MySQL的方法及常见问题

    由于MySQL对字符串类型的默认映射可能导致键长度超出限制,所以在定义`UserName`和`PassWord`时,需要使用`StringLength`和`MaxLength`数据注解来限制其长度,避免出现“Specified key was too long; max key length...

Global site tag (gtag.js) - Google Analytics