云数据库 GAUSSDB(FOR MYSQL)-索引长度限制导致修改varchar长度失败:原因分析
时间:2024-09-11 14:20:03
原因分析
- 在“innodb_large_prefix”设置为off的情况下,InnoDB表的单字段索引的最大字段长度不能超过767字节,联合索引的每个字段的长度不能超过767字节,且所有字段长度合计不能超过3072字节。
- 当“innodb_large_prefix”设置为on时,单字段索引最大长度可为3072字节,联合索引合计最大长度可为3072字节。
- 索引长度与字符集相关。使用utf8字符集时,一个字符占用三个字节,在“innodb_large_prefix”参数设置为on情况下,索引的所有字段的长度合计最大为1072个字符。
查看表结构如下:
CREATE TABLE `xxxxx` ( …… `subscription_type` varchar(64) NOT NULL DEFAULT 'DEVICE_EXCEPTION' COMMENT '订阅类型', `auth_key` varchar(255) DEFAULT '' COMMENT '签名,接口请求头会根据这个值增加token', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `enterprise_id` (`subscription_type`,`enterprise_id`,`callback_url`) USING BTREE) ) ENGINE=InnoDB AUTO_INCREMENT=1039 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC
该表使用了utf8字符集,一个字符占用三个字节。联合索引“enterprise_id”包含了“callback_url”字段,如果执行DDL操作将“callback_url”修改为varchar(1024),会超出联合索引最大长度限制,所以报错。
support.huaweicloud.com/trouble-gaussdbformysql/gaussdbformysql_trouble_0202.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- GaussDB主键生成_GaussDB存储过程_高斯数据库主键生成_华为云
- GaussDB如何建主键_数据库索引设计规范_高斯数据库如何建主键-华为云
- 云数据库GaussDB(for MySQL)数据备份_自动备份_手动备份
- RDS for MySQL变更实例的CPU和内存规格_CPU和内存_CPU过高_MySQL内存
- GaussDB(for MySQL)并行查询_GaussDB(for MySQL)内核_GaussDB(for MySQL)并行执行_PQ
- 华为云数据库 RDS for MySQL常见故障排除_华为云
- GaussDB索引_华为数据库GaussDB_高斯数据库索引_华为云
- MySQL数据库_查看MySQL数据库版本_免费MySQL数据库
- 如何连接测试服务器数据库_mysql数据库磁盘满了怎么办
- GaussDB数据库搭建_GaussDB怎么样_高斯数据库搭建