您的位置:首页 > 教程 > PHP编程 > 解决在laravel中auth建立时候遇到的问题

解决在laravel中auth建立时候遇到的问题

2020-09-05 10:44:02 来源:易采站长站 作者:

解决在laravel中auth建立时候遇到的问题,数据库,的是,你在,报错,长度

解决在laravel中auth建立时候遇到的问题

易采站长站,站长之家为您整理了解决在laravel中auth建立时候遇到的问题的相关内容。

当你使用auth做用户登录注册的时候,会很方便,但是你在做数据库迁移的时候可能会遇到一个问题

$ php artisan migrateMigration table created successfully. [Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long; max key length is 767 bytes (SQL: alter table `users` add unique ` users_email_unique`(`email`)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long; max key length is 767 bytes

不要慌,这里说的是你的数据库迁移完成了,蛋疼的是这里有一个报错,会使你在接下来项目中后面的迁移操作继续报错。

 [Illuminate\Database\QueryException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre ady exists (SQL: create table `users` (`id` int unsigned not null auto_incr ement primary key, `name` varchar(191) not null, `email` varchar(191) not n ull, `password` varchar(191) not null, `remember_token` varchar(100) null, `created_at` timestamp null, `updated_at` timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci) [PDOException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' alre ady exists

解决方案如下:

索引长度 & MySQL / MariaDB#

Laravel 默认使用 utf8mb4 字符,包括支持在数据库存储「表情」。如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release 版本低于10.2.2 ,为了MySQL为它们创建索引,你可能需要手动配置迁移生成的默认字符串长度,你可以通过调用

项目/app/Providers/AppServiceProvider.php 中的 Schema::defaultStringLength 方法来配置它:

use Illuminate\Support\Facades\Schema; /** * 引导任何应用程序服务。 * * @return void */public function boot(){ Schema::defaultStringLength(191);}

或者你可以为数据库开启 innodb_large_prefix 选项,有关如何正确开启此选项的说明请查阅数据库文档。

以上就是关于对解决在laravel中auth建立时候遇到的问题的详细介绍。欢迎大家对解决在laravel中auth建立时候遇到的问题内容提出宝贵意见

微信扫一扫

易采站长站微信账号