文档首页/ 云数据库 RDS/ 故障排除/ RDS for MySQL/ SQL类/ RDS for MySQL 5.6版本实例创建表报错
更新时间:2023-11-03 GMT+08:00

RDS 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字节长度报错。

解决方案

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