我是 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
))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 视频中的说明进行操作。
在
App\Providers\AppServiceProvider.php
中添加以下代码。
导入必要的类:确保您已在文件顶部导入了必要的类:
use Illuminate\Support\Facades\Schema;
修改 boot() 方法:在 boot() 方法中添加以下行:
public function boot()
{
Schema::defaultStringLength(191);
}