Laravel 5.4:指定键过长错误

发布日期:作者:

Laravel 5.4: Specified key was too long error image

Laravel 5.4 对默认数据库字符集进行了更改,现在为 utf8mb4,其中包含对存储表情符号的支持。这仅影响新应用程序,只要您运行的是 MySQL v5.7.7 及更高版本,则无需执行任何操作。

对于那些运行 MariaDB 或旧版本 MySQL 的用户,您在尝试运行迁移时可能会遇到此错误

[Illuminate\Database\QueryException] SQLSTATE[42000]: 语法错误或访问冲突:1071 指定键过长;最大键长为 767 字节(SQL:alter table users add unique users_email_unique(email))

[PDOException] SQLSTATE[42000]: 语法错误或访问冲突:1071 指定键过长;最大键长为 767 字节

如迁移 指南 中所述,要解决此问题,您只需编辑 AppServiceProvider.php 文件,并在 boot 方法中设置默认字符串长度

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

之后,一切应该正常工作。如果您喜欢这篇文章,请务必加入 每周 Laravel 新闻邮件,永不错过新版本、框架提示和新教程。

Eric L. Barnes photo

Eric 是 Laravel 新闻的创建者,自 2012 年以来一直在报道 Laravel。

Cube

Laravel 新闻邮件

加入 40k+ 其他开发者,永不错过新的提示、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成功能和本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

没有妥协

Joel 和 Aaron 是来自 No Compromises 播客的两位经验丰富的开发者,现在可以为您的 Laravel 项目聘用他们。 ⬧ 固定价格为 7500 美元/月。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

没有妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版 Laravel 版本?即时、自动化的 Laravel 升级和代码现代化,让您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

让您的项目充满活力,只需 2500 美元/月即可获得具有 4-6 年经验的经验丰富的 Laravel 开发人员。获得 160 小时的专业知识和 15 天的无风险试用。立即安排通话!

Bacancy
Lucky Media logo

Lucky Media

立即获得幸运 - Laravel 开发的理想选择,拥有十多年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

Laravel 电子商务。一个开源软件包,将现代无头电子商务功能的力量带到 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 招聘网站

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动工具包

SaaSykit 是一款 Laravel SaaS 启动工具包,它包含运行现代 SaaS 所需的所有功能。付款、精美结账、管理面板、用户仪表板、身份验证、现成组件、统计信息、博客、文档等等。

SaaSykit: Laravel SaaS 启动工具包
Rector logo

Rector

您无缝升级 Laravel、降低成本和加速创新的合作伙伴,助力企业取得成功

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。在使用熟悉的 Eloquent API 的同时支持事务、搜索、分析和移动用例。了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一款简单的零依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

在您的 Laravel 应用程序中添加 Swagger UI

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel 提示构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 软件包在您的 Laravel 应用程序中添加评论

阅读文章