ホームページ > データベース > mysql チュートリアル > Laravel 5.4移行エラー:「指定されたキーが長すぎます」を修正する方法は?

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

Barbara Streisand
リリース: 2024-12-18 21:39:11
オリジナル
808 人が閲覧しました

Laravel 5.4 Migration Error: How to Fix

Laravel 移行エラー:「指定されたキーが長すぎます」

問題が発生しました:

make を使用しようとしたときLaravel 5.4の:authコマンド、データベース移行エラー発生:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
ログイン後にコピー

解決策:

デフォルトの MySQL InnoDB エンジンを使用するときによく発生するこの問題を解決するには、2 つのアプローチがあります:

AppServiceProviderメソッド:

  1. Open app/Providers/AppServiceProvider.php.
  2. ブート メソッド内に次のコードを追加します:
use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}
ログイン後にコピー

MySQL サーバー構成:

または、MySQL サーバー構成を変更して innodb_large_prefix オプションを有効にすることもできます。このオプションを有効にするための具体的な手順は、データベースの設定によって異なります。ガイダンスについては、MySQL ドキュメントを参照してください。

追加メモ:

  • 提供されるソリューションは Laravel 5.4 に固有です。他のバージョンについては、関連するドキュメントを参照してください。
  • defaultStringLength(191) メソッドは、すべてのデータベース列のデフォルトの最大文字列長を 191 文字に設定します。
  • innodb_large_prefix オプションにより、MySQL はインデックスのプレフィックスが大きくなり、キーの長さの制限が解決されました。

以上がLaravel 5.4移行エラー:「指定されたキーが長すぎます」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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