经验分享

【mysql】mysql字符集设置为:utf8mb4,创建表时候错误Specified key was too long; max key length is 767 bytes

mysql在创建数据库的时候,字符集设置的不是utf8而是utf9mb4,在导入sql脚本的时候,发现提示如下错误:从上图中,我们可以看出,使用的是innodb及字符集。错误提示是长度太长了:Specifiedkeywastoolong;maxkeylengthis767bytes来查看下创建表的语句:CREATETABLE`xxl_job_registry`( `id`int(11)N

3c7a3ba34ced56a96b967687f1b4106d.jpg

mysql在创建数据库的时候,字符集设置的不是utf8而是utf9mb4,在导入sql脚本的时候,发现提示如下错误:

f66fd3d0d16507aa3dcab44f31e3dee0.png

从上图中,我们可以看出,使用的是innodb及字符集。错误提示是长度太长了:Specified key was too long; max key length is 767 bytes

来查看下创建表的语句:

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`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

varchar的长度明明设置的是255啊。怎么会报出767 bytes的错误呢?

我们在看看错误提示:

[Err] 1071 - Specified key was too long; max

原创不易,完成人机校验,阅读全文

相关推荐