华为云云数据库rdsRDS for MySQL 5.6版本实例创建表报错_云淘科技

场景描述

RDS for MySQL 5.6实例执行建表语句报错:

Index column size too large. The maximum column size is 767 bytes.

原因分析

RDS for MySQL 5.6实例建表时索引使用建议如下:

如果是单字段索引,则字段长度不应超过767字节。
如果是联合索引,则每个字段长度都不应超过767字节,且所有字段长度合计不应超过3072字节。
建表时使用utf8mb4字符集,这是一个4字节字符集。

当索引最大限制是767字节时,那么一个varchar字段长度:767/4=191.75。如果建表语句中varchar字段超出了这个长度,就会出现767字节长度报错。

解决方案

查看“innodb_large_prefix”参数,确保值为“ON”。
参考原因分析中的使用建议建表。

父主题: SQL类

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家