zoukankan      html  css  js  c++  java
  • 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)数据库迁移创建成功

  • 相关阅读:
    解决无法安装Microsoft .Net Framework 3.5
    day11-15,装饰器
    Xmanager Power Suit 6.0.0009 最新版注册激活
    eth
    MySql 8.0 版本使用navicat连不上解决
    day11
    Mybatis使用规则
    nginx的基本配置
    Mybatis分页插件PageHelper使用
    dubbo的使用
  • 原文地址:https://www.cnblogs.com/hiit/p/11093378.html
Copyright © 2011-2022 走看看