原因:laravel改变了默认的数据库字符集,现在使用utf8mb4,如果你使用的MySQL数据库高于5.7就不会报错,如果低于该版本就会报错
SQLSTATE[
42000]: Syntax
error or access violation:
1071 Specified
key was too
long; max
key length
is 767 bytes
解决方案:在AppServiceProvider添加代码: Schema::defaultStringLength(191); 完整的代码:
use Illuminate\Support\Facades\Schema;
/**
* Bootstrap any application services.
*
* @return void
*/
public function
boot()
{
Schema::defaultStringLength(
191);
}