标题: 1071 - Specified key was too long; max key length is 3072 bytes Mysql [打印本页] 作者: 王國慶 时间: 2024-9-16 23:32 标题: 1071 - Specified key was too long; max key length is 3072 bytes Mysql 错误信息 “Specified key was too long; max key length is 3072 bytes” 是在MySQL数据库中创建索引时可能出现的问题,通常出现在实验创建一个过长的唯一键(UNIQUE KEY)或主键(PRIMARY KEY)时。MySQL对于InnoDB存储引擎有一个索引键长度的限制,这个限制基于字符集的不同而不同。
例如,在使用utf8字符集时,每个字符可能占用3个字节,那么对于innodb表,索引键的最大长度约莫为1000个字符左右(由于3072 / 3 ≈ 1024)。若字符集是utf8mb4,每个字符可能占用4个字节,所以最大长度会进一步减少到768个字符左右(3072 / 4 = 768)。
解决这个问题的方法有: