1.问题重现
CREATE TABLE `xxl_job_registry` ( `id` int(11) NOT NULL AUTO_INCREMENT, `registry_group` varchar(50) NOT NULL, `registry_key` varchar(255) NOT NULL, `registry_value` varchar(255) NOT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`,`update_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 > 1709 - Index column size too large. The maximum column size is 767 bytes. > 时间: 0.009s
修改了KEY的值,使用id是可以的,说明是真的超出了长度。
2.解决方法
将 CHARSET=utf8mb4 改为 CHARSET=gbk 解决了这个问题,但不知道有没有意外的惊喜。
CREATE TABLE `xxl_job_registry` ( `id` int(11) NOT NULL AUTO_INCREMENT, `registry_group` varchar(50) NOT NULL, `registry_key` varchar(255) NOT NULL, `registry_value` varchar(255) NOT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`,`update_time`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk > OK > 时间: 0.009s