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