使用Laravel 5.4以及后续版本问题总结

Laravel 执行php artisan migrate报错 SQLSTATE[42000]: Syntax error or access violation: 1071

PHPer 2024-07-09 88 0 0

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

报错原因


laravel 5.4和更高版本改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。

解决方法

1.在app\Providers\AppServiceProvider.php文件的boot()方法中添加默认值

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; //add fixed sql

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        //
        Schema::defaultStringLength(191); //add fixed sql
    }
}

2.删除已经生成的数据表,然后重新执行php artisan migrate ,否则会继续报下面的错误...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2024-07-09 12:45:41
    您需要登录后才可以评论。 立即注册
    相关内容

    PHP Error: Maximum execution time of 30 seconds exceeded 解决方案

    PHP错误:SQLSTATE[HY000] [2054] The server requested authentica...

    php报错 Error: Variable 'sql_mode' can't be set to the value of 'M...

    PHP报错:Constants may only evaluate to scalar values

    PHP与APP

    PHP是否可以应用于App开发

    推荐内容

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    BT磁力搜索网站汇总和找不到的资源

    什么是磁力链接,您如何使用?

    Z-Library:全球最大的数字图书馆/含打不开的解决方案/镜像

    使用V2Ray的mKCP协议加速游戏

    v2rayN已停止工作

    【车险课堂】什么是无赔款优待系数ncd,你“造”吗?