解决在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中通过加号合并数组的一个简单方法分享
Jan 27 PHP
PHP开发中的错误收集,不定期更新。
Feb 03 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
php empty() 检查一个变量是否为空
Nov 10 PHP
php删除文件夹及其文件夹下所有文件的函数代码
Jan 23 PHP
async和DOM Script文件加载比较
Jul 20 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
php使用json-schema模块实现json校验示例
Sep 28 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中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
smarty基础之拼接字符串的详解
2013/06/18 PHP
php实现的顺序线性表示例
2019/05/04 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
python检测lvs real server状态
2014/01/22 Python
Python中字典和JSON互转操作实例
2015/01/19 Python
Python生成器(Generator)详解
2015/04/13 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
详解python tkinter模块安装过程
2020/01/06 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
《我的信念》教学反思
2014/02/15 职场文书
军训拉歌口号
2014/06/13 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
公民授权委托书
2014/10/15 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
导游词之阆中古城
2019/12/23 职场文书
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android