当前位置: 首页 > 知识库问答 >
问题:

Mysql指定的密钥太长,无法理解原因?[副本]

厉钊
2023-03-14

语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节(SQL:更改表用户添加唯一users_email_uniqueemail))

这个错误在我做的每件事情中都会无缘无故地出现...我确实制作了有默认值的数据库,它会弹出...复制100%的工作代码,它会弹出...甚至它会被修复我现在真的很无聊,因为它出现在15个不同的项目中...不明白为什么它会弹出,甚至git固定......重新安装Apache像5次获得最后一个版本...仍然弹出100%工作代码它可能弹出的逻辑原因是什么??

我所做的只是使授权并将其迁移到数据库(laravel)错误:

Illumb\Database\QueryException:SQLSTATE[42S01]:基表或视图已存在:1050表“用户”已存在(SQL:create tableusersidint unsigned not null自动递增主键,namevarchar(255)不为null,emailvarchar(255)不为空,email\u verified\u attimestamp null,passwordvarchar(255)不为空,memory\u tokenvarchar(100)null,created\u attimestamp null,updated\u attimestamp null)默认字符集utf8mb4校对“utf8mb4 unicode\u ci”)

在C:\USER\vendor\laravel\framework\src\illumb\Database\Connection.php:664 660 |//如果在尝试运行查询时发生异常,我们将格式化错误661 |//消息以包含SQL绑定,这将使此异常成为662 |//对开发人员更有用,而不仅仅是数据库的错误。663 |捕获量(例外$e){

664 |抛出新的QueryException(665 |$query,$this-

异常跟踪:

1 PDOExc0019::("SQLSTATE[42S01]:基表或视图已经存在: 1050 Table'user'已经存在")C:\USER\供应商\laravel\框架\src\照明\数据库\Connection.php:458

2 PDO语句::execute()C:\USER\供应商\laravel\框架\src\Illumate\数据库\Connection.php:458

块引用

共有1个答案

柴英博
2023-03-14

app/Providers/AppServiceProvider.php文件中添加此代码:

use Illuminate\Support\Facades\Schema;
public function boot()
{
    Schema::defaultStringLength(191);
}

您需要删除(如果有)users表,password_将从数据库中重置该表

 类似资料:
  • 问题内容: 原因 我该怎么办? 这是我的数据库编码: 问题答案: 这仅仅是一个MySQL问题- MySQL具有不同的引擎-MyISAM,InnoDB,内存… MySQL对可用于在列上定义索引的空间量有不同的限制- MyISAM为1,000字节;对于InnoDB是767 。这些列的数据类型很重要- 例如,它是3倍,因此a上的索引将占用其中300个字节(因为100个字符* 3 = 300)。 为了在达

  • 问题内容: 我无法在上创建索引。 MySQL: 问题答案:

  • 问题内容: 我正在使用Rails 2.3.5应用程序,在女巫中我有这个领域 而这个指数 当我尝试执行时: 我收到此错误,并且不太了解如何解决。 问题答案: 听起来好像默认排序规则使用UTF8字符集。 MySQL通过字节而不是字符来限制键的长度。由于MySQL使用的UTF8实现每个字符允许3个字节,因此UTF8列上键的最大长度是键长度(以字符为单位)的3倍(如果未明确指定,则键长度为字段的全长)。

  • 问题内容: 当我执行以下命令时: 我收到此错误消息: 有关column1和column2的信息: 我认为只需要21个字节,而只需要501个字节。因此,总字节数是522,少于767。那么为什么收到错误消息? 问题答案: 在MySQL版本5.6(及更早版本)中,InnoDB表的前缀限制为767个字节。MyISAM表的长度为1,000字节。在MySQL 5.7及更高版本中,此限制已增加到3072字节。

  • 问题内容: 我知道有关此标题的问题已经回答过,但是请继续阅读。发布前,我已彻底阅读了关于此错误的所有其他问题/答案。 我收到以下查询的上述错误: 有谁知道为什么以及如何解决它?问题是-相同的查询在我的本地计算机上运行完美,在我以前的主机上也运行良好。顺便说一句,它来自一个成熟的项目- phpdevshell-所以我猜这些家伙知道他们在做什么,尽管你永远都不知道。 任何线索表示赞赏。 我正在使用ph

  • 问题内容: 我正在尝试在Laravel中迁移用户表。运行迁移时,出现以下错误: [Illuminate \ Database \ QueryException] SQLSTATE [42000]:语法错误或访问冲突:1071指定的密钥太长;默认值为0。最大密钥长度为767字节(SQL:alter table 添加唯一的users_email_uniq()) 我的迁移如下: 经过一番谷歌搜索后,我发