jumpserver mysql1071问题(和其他python mysql问题类似)mysql Specified key was too long

jumpserver mysql1071问题(和其他python mysql问题类似)mysql Specified key was too long

  • 2
  • 5 views
  • A+
所属分类:数据库

1071 问题 键过长 具体解释可以查mysql报错大全 出现这个问题,应该最先检查所运行实例的字符集状态,如:

我这边是使用了utf8mb4 编码,jumpserver openstack 等程序设计时一般采用utf8普通编码

utf8mb4顾名思义最大长度单个字符4字节,会使字段和键长度加长,而mysql默认情况下单个列的索引不能超过767位(不同版本可能存在差异)故很容易出现问题,遇到这些特定程序,在创建数据库时,使用

 

这样的形式指定字符集才是最佳实践,实际使用中,无需兼容4字节中文(怕不是火星文)默认使用utf8 比较经济,兼容性也尚可,兼容特殊字符可以考虑utf8mb4

其他情况下 数据库表采用utf8编码,其中varchar(255)的column进行了唯一键索引,也容易出现该问题
weinxin
我的微信公众号
我的微信公众号扫一扫

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar阿里云博客:来自天朝的朋友 Internet Explorer Windows 7 0

      阿里云双12钜惠,低至2折料课

      • avatar阿里云合伙人:来自天朝的朋友 Internet Explorer Windows 7 0

        阿里云双12钜惠,低至2折芳吭