MySQL 1071 – Specified key was too long; max key length is 1000 bytes解决方案

  • A+
所属分类:Mysql

1071 - Specified key was too long; max key length is 1000 bytes解决方案

在设计数据库表时,主键设计varchar长度为255,点击保存表,数据库报错如下图所示
  • 1

MySQL 1071 - Specified key was too long; max key length is 1000 bytes解决方案
原因:在UTF-8MB4字符集下,每个字符通常需要4字节来存储。因此,如果你在VARCHAR(255)字段上使用UTF-8MB4字符集,它的最大存储长度将是 255 * 4 = 1020 字节,这已经超过MySQL的默认主键长度限制(1000字节)。

在这种情况下,如果你尝试将VARCHAR(255)列作为主键并使用UTF-8MB4字符集,你可能会遇到 “1071 - Specified key was too long; max key length is 1000 bytes” 的错误,因为它接近或超过了MySQL的主键长度限制。

解决方案:缩短主键的长度,如varchar(200)

文章知识点与官方知识档案匹配,可进一步学习相关知识
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin