1071 - Specified key was too long; max key length is 1000 bytes解决方案
在设计数据库表时,主键设计varchar长度为255,点击保存表,数据库报错如下图所示
原因:在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)