【发布时间】:2018-09-15 06:41:34
【问题描述】:
我的 php 项目有一个迁移文件。我收到此错误
语法错误或访问冲突:1071 指定的键太长;最大限度 密钥长度为 767 字节
我明白这个问题是由于 varchar(512) 和 charset - UTF8 造成的,但我该如何解决这个问题?我无法更改我的迁移脚本。 MySql的my.ini中的一些属性可以修改吗?
CREATE TABLE if not exists usermaster (
user_id bigint(20) NOT NULL,
username varchar(512) NOT NULL,
PRIMARY KEY (user_id,username),
KEY fk_um_idx (user_id),
CONSTRAINT fk_um_idx FOREIGN KEY (user_id) REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
【问题讨论】:
-
你能升级到 MySQL 5.7
-
忘了说我已经把 MySQL 更新到 10.1.31
-
否则我必须将表格的字符集从
utf8mb4更改为utf8 -
@Sinto 我无法更改脚本
-
??
MySQL to 10.1.31我想你的意思是说你使用的是mariaDB而不是 MySQL