语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节(SQL:alter table
users
添加唯一的users_email_unique
(
我无缘无故地在所有操作中弹出错误...我从字面上看是使数据库具有默认值,并且弹出...复制100%的工作代码会弹出..即使它被原因修复了。就像再次创建具有相同详细信息的数据库..我现在真的很无聊,因为它像15个不同的项目一样弹出...不知道为什么会弹出甚至git固定...只是制作唯一键或主要的,有时会弹出,而其他的不会! ...重新安装Apache,例如获得最新版本的5次..仍然会弹出100%的工作代码 可能会弹出的逻辑原因是什么?
我所做的只是进行身份验证并将其迁移到数据库(laravel) 错误:
在Illuminate \ Database \ QueryException:SQLSTATE [42S01]:基本表或视图已存在:1050表'users'已存在(SQL:create 表
users
(id
int unsigned not null auto_increment主键,name
varchar(255)不为空,email_verified_at
时间戳为null,password
varchar(255)不为null,remember_token
varchar(100)为空,created_at
时间戳为空,updated_at
时间戳为null)默认字符集utf8mb4整理 'utf8mb4_unicode_ci')C:\ USER \供应商\ laravel \ framework \ src \ Illuminate \ Database \ Connection.php:664 660 | //如果在尝试运行查询时发生异常,我们将格式化错误 661 | //包含SQL绑定的消息,这将使此异常成为 662 | //对开发人员有更多帮助,而不仅仅是数据库的错误。 663 | catch(例外$ e){
664 |抛出新的QueryException( 665 | $ query,$ this-> prepareBindings($ bindings),$ e 666 | ); 667 | } 668 |
异常跟踪:
1 PDOException::(“” SQLSTATE [42S01]:基表或视图已经 存在:1050个表“用户”已存在”) C:\ USER \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connection.php:458
2 PDOStatement :: execute() C:\ USER \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connection.php:458
Blockquote
答案 0 :(得分:2)
将此代码添加到app/Providers/AppServiceProvider.php
文件中:
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
您需要从数据库中删除(如果有)用户表,password_resets表,并从迁移表中删除用户和password_resets条目,然后在删除旧表后运行php artisan migrate
命令