校验数据库时,遇到以下这种语句时就同步失败错误提示:(有好几个这样的语句)
ALTER TABLE `hn_member` CHANGE `photo_audit` `photo_audit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '审核中的头像'
执行出错提示如下:
#1071 - Specified key was too long; max key length is 1000 bytes
搜索此问题,解答如下:
错误 #1071 在MySQL中表示你试图创建的索引键长度超过了允许的最大长度。MySQL限制BTree索引键的长度为最多3072 bytes(对于InnoDB存储引擎)或者1000 bytes(对于MyISAM存储引擎)。在你的情况下,由于选择了utf8mb4字符集,这就意味着每个字符可以占用最多4个字节,因此一个varchar(255)字段已经占用了1020 bytes,超出了上述限制。
请官方修正,升级校验经常出现这种数据字段错误提示。