Laravel5.5 MySQL5.7.14 执行 PHP artisan migrate 会报 Specified key was t oo long; max key length is 1000 bytes

因为之前用的 MySql 版本较低,所以每次对这个报错都感觉很正常。但是,最近升级了配置已经将 MySql升级了为 5.7.14,执性 php artisan migrate 还是会报以下错误:
In Connection.php line 664:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 1000 bytes (SQL: alter table users add unique
users_email_unique(email))
In Connection.php line 458:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 1000 bytes

参考链接

随枫,free!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4
Epona

AppServiceProvider.php中加入以下代码,应该可以解决。

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

具体可以看这里

6年前 评论
leo

搜索 innodb_large_prefix

6年前 评论

@Epona 谢谢, 问题解决了,默认引擎是 MyISAM ,改成 InnoDB 就成了

6年前 评论

@leo 谢谢啦,我这个是存储引擎的问题,没注意默认引擎成了 MyISAM 了,换成 InnoDB 就好了

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!