解决 Laravel 错误 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

/ 0 评 / 阅读 1435

Laravl在5.4的时候改了默认的字符集为utfmb4,支持emoji。如果数据库是mysql 5.7.7以上的话,应该是兼容的。但如果用的是mariadb或者旧的mysql版本,那么就会提示以下错误 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes要解决错误,在AppServiceProvider.php添加代码

use Illuminate\Support\Facades\Schema;

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注