Laravel 移行エラーのトラブルシューティング:「一意のキーが長すぎます」
Laravel でユーザー テーブルを移行しようとしているときに、エラー: 「[IlluminateDatabaseQueryException] ... 指定されたキーが長すぎます。キーの最大長は 767 バイトです。」このエラーは、指定した一意のキーが許可される最大長を超えている場合に発生します。
問題の理解
メールなどの列に対する Laravel のデフォルトの文字列長は 255 です。文字。これより長い文字列長 (この場合は電子メール列の 320 文字) の列に一意のキーを作成しようとすると、移行は失敗します。
エラーの修正
<code class="php">$table->string('email', 250);</code>
<code class="php">$table->string('email');</code>
AppServiceProvider.php ファイルのブート メソッドで、すべての移行のデフォルトの文字列長を設定します:
<code class="php">use Illuminate\Database\Schema\Builder; public function boot() { Builder::defaultStringLength(191); }</code>
以上がLaravel の移行中に「一意のキーが長すぎます」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。