更新时间:2023-08-02 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字节长度报错。
解决方案
- 查看“innodb_large_prefix”参数,确保值为“ON”。
- 参考原因分析中的使用建议建表。
父主题: SQL类