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


Posted in PHP onOctober 15, 2019

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

$ php artisan migrate
Migration 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建立时候遇到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php网页后退不再出现过期
Mar 08 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
PHP加密解密实例分析
Dec 25 PHP
thinkPHP下的widget扩展用法实例分析
Dec 26 PHP
yii分页组件用法实例分析
Dec 28 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
简单谈谈PHP中的trait
Feb 25 PHP
thinkPHP框架中layer.js的封装与使用方法示例
Jan 18 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 #PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 #PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 #PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 #PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 #PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 #PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 #PHP
You might like
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
PHP利用str_replace防注入的方法
2013/11/10 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
PHP中each与list用法分析
2016/01/08 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
浅谈numpy库的常用基本操作方法
2018/01/09 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
python 列表降维的实例讲解
2018/06/28 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
对Python中plt的画图函数详解
2018/11/07 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
英国二手物品交易网站:Preloved
2017/10/06 全球购物
家长给孩子的表扬信
2014/01/17 职场文书
学生安全责任书模板
2014/07/25 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
初中数学教学随笔
2015/08/15 职场文书
高中班主任心得体会
2016/01/07 职场文书