主机迷主机迷

MySQL建表时报错“#1071 - Specified key was too long; max key length is 1000 bytes”

复制一个表到另外一个主机,同时改为MyISAM引擎,没想到创建表时报错了:

#1071 - Specified key was too long; max key length is 1000 bytes

建表sql类似如下:

CREATE TABLE `stock` (
 `code` varchar(255) NOT NULL
  PRIMARY KEY (`code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4

之前使用InnoDB引擎没有问题,MyISAM引擎会有key长度的限制,超过1000bytes就会报错,这里的varchar长度255,utf8mb4每个字符按4个字节计算,255x4超过1000了,把varchar长度改小一点就没问题了。

转载请注明出处 | 当前页面:主机迷 » MySQL建表时报错“#1071 - Specified key was too long; max key length is 1000 bytes”

评论

  • 请输入 18 + 2 = ? 的计算结果: