解决在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初学者头痛的十四个问题
Jul 12 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
PHP中删除变量时unset()和null的区别分析
Jan 27 PHP
php数据库抽象层 PDO
May 07 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
Mar 26 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
PHP crc32()函数讲解
Feb 14 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 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
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
浅析Python中的多进程与多线程的使用
2015/04/07 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
PyTorch安装与基本使用详解
2020/08/31 Python
python操作toml文件的示例代码
2020/11/27 Python
Python tkinter实现日期选择器
2021/02/22 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
护士实习鉴定范文
2013/12/22 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
运动会广播稿80字
2014/01/23 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
物业管理工作方案
2014/05/10 职场文书
啦啦队口号大全
2014/06/16 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
redis实现排行榜功能
2021/05/24 Redis
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python