错误原因
数据库表采用utf8编码时,当对varchar(255)的列设置唯一键索引时发生该错误。
mysql默认单列的索引不能超过767位(不同版本可能存在差异)
解决方法
(1) 使用innodb引擎;
(2) 启用innodb_large_prefix选项,将约束项扩展至3072byte;
(3) 重新创建数据库;
(4) my.cnf配置:
default-storage-engine=INNODB
innodb_large_prefix=on
数据库表采用utf8编码时,当对varchar(255)的列设置唯一键索引时发生该错误。
mysql默认单列的索引不能超过767位(不同版本可能存在差异)
(1) 使用innodb引擎;
(2) 启用innodb_large_prefix选项,将约束项扩展至3072byte;
(3) 重新创建数据库;
(4) my.cnf配置:
default-storage-engine=INNODB
innodb_large_prefix=on