1. ホーム
  2. マイスル

[解決済み】Laravelのマイグレーションエラーです。シンタックスエラーまたはアクセス違反です。1071 指定されたキーが長すぎる。キーの最大長は767バイトです。

2022-04-21 14:28:06

質問

Laravel 5.4でマイグレーションエラーが発生しました。 php artisan make:auth

[IlluminateDatabase QueryException] SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1071 Specified key was too long; max key length is 767 bytes (SQL: alter tabl e users 一意な users_email_unique ( email ))

[PDOException] SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1071 指定されたキーが長過ぎます。キーの最大長は767バイトです。

解決方法は?

によると Laravel 7.xの公式ドキュメント であれば、簡単に解決できます。

を更新してください。 /app/Providers/AppServiceProvider.php を含むようにします。

use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

または innodb_large_prefix オプションを使用します。このオプションを正しく有効にする方法については、お使いのデータベースのドキュメントを参照してください。