mysql 添加索引 Specified key was too long

mysql 添加索引 Specified key was too long

  • 数据库工具:DataGrip
  • ENGINE:InnoDB
  • CHARSET:utf8mb4
    最开始是直接在视图界面操作,直接手动加了两个索引,结果保存时提示
Specified key was too long; max key length is 767 bytes

刚开始以为是命令行的原因,就写了一个SQL进行创建索引

ALTER  TABLE  `action_log`  ADD  INDEX index_log_front_id (`front_id`);

还是提示这个错误:指定的key太长,key的最大长度为767个字节
* CHARSET:utf8mb4,一个字符对应4个字节
* CHARSET:utf8,一个字符对应3个字节

所以,我这个key对应的字符应该最大设置为 767/4 = 191,而我最初设计表的时候,本着不考虑资源浪费,varchar类型给的都是255,255正好是utf8设置索引时的最大字符

你可能感兴趣的:(java)