zoukankan      html  css  js  c++  java
  • 创建表时报错,索引列超过最大约束

    创建表时报错,索引列超过最大约束
    ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.

    1. 错误原因
    由于 MySQL Innodb 引擎表索引字段长度的限制为 767 字节,因此对于多字节字符集的大字段(或者多字段组合索引),创建索引会出现上面的错误。
    以 utf8mb4 字符集 字符串类型字段为例:utf8mb4 是 4 字节字符集,则默认支持的索引字段最大长度是: 767 字节 / 4 字节每字符 = 191 字符,因此在 varchar(255) 或 char(255) 类型字段上创建索引会失败。

    解决办法:
    1.调整参数 innodb_large_prefix 为 ON
    将 Innodb_large_prefix 修改为 on 后,对于 Dynamic 和 Compressed 格式的InnoDB 引擎表,其最大的索引字段长度支持到 3072 字节。
    2.创建表的时候指定表的 row format 格式为 Dynamic

    喜欢请赞赏一下啦^_^

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    将查询语句创建新表
    java冒泡排序
    java三元运算符
    java中的>>>和>>>=
    i++和++i
    设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。
    System.out.println与System.err.println的区别
    try-catch-finally
    Java常见异常类
    Vue.js环境配置
  • 原文地址:https://www.cnblogs.com/lkj371/p/15069002.html
Copyright © 2011-2022 走看看