首页 > 后端开发 > php教程 > 如何修复 Laravel 迁移中的'指定密钥太长”错误?

如何修复 Laravel 迁移中的'指定密钥太长”错误?

DDD
发布: 2024-10-30 22:44:03
原创
786 人浏览过

How to Fix

修复 Laravel 迁移中的“指定密钥太长”错误

在 Laravel 中迁移表时,开发者可能会遇到“指定密钥太长”的问题太长”的错误。这是因为 MySQL 中键的默认最大长度是 767 字节。

一种解决方案是在迁移中显式指定键长度。例如:

Schema::create('users', function(Blueprint $table) {
    $table->increments('id');
    $table->string('email', 250)->unique('users_email_unique');
});
登录后复制

Laravel 5.4 及以上

在 Laravel 5.4 及以上,可以在 AppServiceProvider.php 文件中设置默认字符串长度:

<code class="php">use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}</code>
登录后复制

或者,您可以指定迁移中各个列的长度:

<code class="php">Schema::create('users', function(Blueprint $table) {
    $table->increments('id');
    $table->string('email', 191)->unique('users_email_unique');
});</code>
登录后复制

以上是如何修复 Laravel 迁移中的'指定密钥太长”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板