当前位置:   article > 正文

Specified key was too long; max key length is 767 bytes_error: string '2023-12-08 04:41:22'(length=19) is

error: string '2023-12-08 04:41:22'(length=19) is too long. the max length o

MySQL表添加复合唯一性约束时提示(pgsql添加很顺利,没有遇到这种情况):error: Specified key was too long; max key length is 767 bytes

即对两个或两个以上的字段进行唯一性约束时

例如col1,col2

其中col1可以重复出现,col2也可重复出现,但col1,col2组合不能重复

解决过程如下:

启用系统变量innodb_large_prefix 

并满足下面3个条件: 

    1: 系统变量innodb_large_prefix为ON

    2: 系统变量innodb_file_format为Barracuda

    3: ROW_FORMAT为DYNAMIC或COMPRESSED

下面进行验证

show variables like '%innodb_large_prefix%';

结果

show variables like '%innodb_file_format%';

结果

show table status from 数据库 where name='表';

结果

以上参数我已经改过了,所以都符合要求了,如果结果与要求不一致,使用alter进行更新

之后再添加唯一约束,成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/606156
推荐阅读
相关标签
  

闽ICP备14008679号