ホームページ >バックエンド開発 >PHPチュートリアル >Laravel の移行における固有のキー長エラーを修正するにはどうすればよいですか?

Laravel の移行における固有のキー長エラーを修正するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 02:32:02923ブラウズ

How to Fix Unique Key Length Errors in Laravel Migrations?

Laravel 移行における一意のキーの長さの問題

Laravel では、テーブル列の一意のキーを作成するときに、次のようなエラーが発生する可能性があります。指定されたキーが長すぎます。この問題は、一意のキーに定義されている列の長さが、許可されている最大長を超えている場合に発生します。

問題のトラブルシューティング

提供された移行では、一意の制約が指定されています。 「電子メール」列の長さは 320 文字です。ただし、デフォルトでは、Laravel の 'email' 列は、デフォルトの長さ 255 の文字列として定義されます。ほとんどのメール アドレスには、このデフォルトの長さで十分です。

この問題を解決するには、長さを減らすことを検討してください。移行時の「email」列を 250 文字などの適切な値に変更します。

または、一意のキーの長さを 'unique() の 2 番目のパラメータとして明示的に指定することもできます。 ' メソッド:

Laravel 5.4 以降

Laravel バージョン 5.4 以降では、より包括的なソリューションが利用可能です。 「AppServiceProvider.php」ファイルで、「boot()」メソッドに次のコードを追加します。

デフォルトの文字列長を 191 に設定すると、列が「string()」メソッドを使用して作成されるようになります。最大長は 191 文字になり、一意のキーの長さの問題が発生する可能性がなくなります。

以上がLaravel の移行における固有のキー長エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。