Laravel 数据库连接错误排查

问题描述 投票:0回答:1

我是 Laravel 的新手,我正在尝试建立与我的 MySQL 数据库的连接。我创建了一个新的 Laravel 安装,当我在

.env
database.php
文件中配置数据库值时,我总是在网站上遇到显示以下消息的错误。

SQLSTATE[42S02]:未找到基表或视图:1146 表 “practicelaraveldb.sessions”不存在

然后它提示我运行迁移命令

php artisan migrate
,我执行了,但随后出现错误:

照亮\数据库\QueryException SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 1000 字节(连接:mysql, SQL:更改表

users
添加唯一的
users_email_unique
email
))

  at vendor\laravel\framework\src\Illuminate\Database\Connection.php:813
    809▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
    810▕                 );
    811▕             }
    812▕ 
  ➜ 813▕             throw new QueryException(
    814▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
    815▕             );
    816▕         }
    817▕     }

我按照上述错误的注释并更改了用户表中的电子邮件字段,但仍然收到错误。尝试获得简单的数据库连接真的这么复杂吗?我确信我一定在这里遗漏了一些东西。我按照文档和一些 YouTube 视频中的说明进行操作。

https://laravel.com/docs/11.x#databases-and-migrations

php laravel phpmyadmin
1个回答
0
投票

App\Providers\AppServiceProvider.php
中添加以下代码。

导入必要的类:确保您已在文件顶部导入了必要的类:

use Illuminate\Support\Facades\Schema;

修改 boot() 方法:在 boot() 方法中添加以下行:

public function boot()
{
    Schema::defaultStringLength(191);
}
© www.soinside.com 2019 - 2024. All rights reserved.