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设置索引时的最大字符

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值