MySQL 扩展字段长度报错 Specified key was too long

引言

本文主要分析一套 MySQL 分库分表扩展字段长度时其中一个实例报错索引超长的展字案例,其中失败实例的段长度报版本是 5.7.21,而成功实例的展字版本都是 5.7.24。免费信息发布网因此怀疑与版本有关,段长度报最终通过测试与分析判断是展字一个 bug,官方文档显示在 5.7.23 中修复。段长度报

现象

首先介绍三个案例,展字都是段长度报字段长度扩展时报错索引超长。云南idc服务商

MySQL 扩展字段长度报错 Specified key was too long

案例 1

时间:2023-09-08 21:31:02

数据库版本:5.6.39

SQL 复制ALTER TABLE sign_bill_return_image_audit_result MODIFY COLUMN image_name VARCHAR(250) COMMENT 图片名称;1.2.

日志显示 pt-osc 执行期间报错索引长度超过 767。展字

复制EXECUTE START AT 2023-09-08 21:31:02 Error altering new table `station_manager`.`_sign_bill_return_image_audit_result_new`: DBD::mysql::db do 段长度报failed: Specified key was too long; max key length is 767 bytes [for Statement "ALTER TABLE `station_manager`.`_sign_bill_return_image_audit_result_new` MODIFY COLUMN image_name VARCHAR(250) COMMENT 图片名称;"] at /usr/bin/pt-online-schema-change line 9194. EXECUTE FAIL AT 2023-09-08 21:31:031.2.3.4.

查看表结构,显示字符集为 utf8mb4,展字索引类型为单列唯一索引,段长度报image_name 字段长度从 50 扩展到 250。展字

段长度报复制mysql> show create table station_manager.sign_bill_return_image_audit_result \G

IT科技
上一篇:电脑主机配置和安装教程(从零开始学习电脑主机配置和安装,让你的电脑运行更流畅)
下一篇:通过激情探索学习(以passion为引导,最大化教程的效果与体验)