MySQL【问题 02】报错 1709 - Index column size too large. The maximum column size is 767 bytes. 可能是最简单的方法
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
还没有评论,来说两句吧...