解决在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 相关文章推荐
实用函数7
Nov 08 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
php函数之子字符串替换 str_replace
Mar 23 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
前端必学之PHP语法基础
Jan 01 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
PHP实现文件上传功能实例代码
May 18 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP fopen函数用法实例讲解
Feb 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
动态加载js、css等文件跨iframe实现
2014/02/24 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
初学python数组的处理代码
2011/01/04 Python
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
python入门教程 python入门神图一张
2018/03/05 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
文明市民先进事迹
2014/05/15 职场文书
教师工作表现评语
2014/12/31 职场文书
客户付款通知书
2015/04/23 职场文书
个人收入证明范本
2015/06/12 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server