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)数据库迁移创建成功

  • 相关阅读:
    c++中的stack实现
    非虚函数是静态绑定
    函数返回const,以便控制访问
    析构函数为虚函数
    c++中初始化列表顺序和声明顺序一致
    define的误用
    模板就是让编译器帮你写代码
    mysql代码中设置变量
    拼接index
    python import vs from import
  • 原文地址:https://www.cnblogs.com/hiit/p/11093378.html
Copyright © 2011-2022 走看看