ホームページ > バックエンド開発 > PHPチュートリアル > Laravel の移行で「指定されたキーが長すぎました」エラーを修正する方法は?

Laravel の移行で「指定されたキーが長すぎました」エラーを修正する方法は?

DDD
リリース: 2024-10-30 22:44:03
オリジナル
820 人が閲覧しました

How to Fix

Laravel 移行での「指定されたキーが長すぎました」エラーの修正

Laravel でテーブルを移行するとき、開発者は「指定されたキーは長すぎました」というエラーが発生する可能性があります。長すぎます」というエラーが表示されます。これは、MySQL のキーのデフォルトの最大長が 767 バイトであるためです。

1 つの解決策は、移行時にキーの長さを明示的に指定することです。例:

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 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート