解决在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 相关文章推荐
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
php之CodeIgniter学习笔记
Jun 17 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
php使用pack处理二进制文件的方法
Jul 03 PHP
学习php开源项目的源码指南
Dec 21 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
Feb 05 PHP
php简单处理XML数据的方法示例
May 19 PHP
PHP APP微信提现接口代码
Sep 30 PHP
php命令行模式代码实例详解
Feb 26 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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以post形式发送xml的方法
2014/11/04 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
JavaScript 基本概念
2015/01/20 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
require.js中的define函数详解
2017/07/10 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python pickle模块用法实例分析
2015/05/27 Python
Python绘制七段数码管实例代码
2017/12/20 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
顶岗实习接收函
2014/01/09 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
安全生产月活动总结
2014/05/04 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
甜品店创业计划书
2014/09/21 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
心术观后感
2015/06/11 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
部分武汉产收音机展览
2022/04/07 无线电