• Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]解决


    Laravel5.x运行迁移命令创建数据表:php artisan migrate报错。

    IlluminateDatabaseQueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

    以上报错是因为你的数据库版本低于当前laravel要求,laravel现在默认utf8mb4包括存储emojis支持。

    如果你运行MySQL v5.7.7或者更高版本,则不会报这个错误。

    解决方案:

    1、找到/app/Providers/AppServiceProvider.php文件添加以下代码(如图)

    Schema::defaultStringLength(191);
    

    2、再次运行:php artisan migrate

    显示如下:In AppServiceProvider.php line 16:  Class 'AppProvidersSchema' not found

    3、还是/app/Providers/AppServiceProvider.php文件添加以下代码(如图)

    use IlluminateSupportFacadesSchema;
    

    4、再次运行:php artisan migrate

    (1) 如果有这个报错:IlluminateDatabaseQueryException  : SQLSTATE[42S01]: Base table or view already exists:,需要删除数据库里的表,然后再php artisan migrate

     

    (2)数据库迁移创建成功

  • 相关阅读:
    GitLab基本用法
    SSH免密登录详解
    一文搞懂GitLab安装部署及服务配置
    初识:LevelDB
    Jenkins安装与Gitlab项目部署详解
    CentOS7的安装和配置
    C/C++语言的学习方向
    C语言atoi函数
    C语言整数的取值范围
    C语言scanf函数
  • 原文地址:https://www.cnblogs.com/hiit/p/11093378.html
Copyright © 2020-2023  润新知