Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebt man den Fehler „Angegebener Schlüssel war zu lang' bei Laravel-Migrationen?

Wie behebt man den Fehler „Angegebener Schlüssel war zu lang' bei Laravel-Migrationen?

DDD
DDDOriginal
2024-10-30 22:44:03782Durchsuche

How to Fix

Behebung des Fehlers „Angegebener Schlüssel war zu lang“ bei Laravel-Migrationen

Bei der Migration von Tabellen in Laravel stoßen Entwickler möglicherweise auf die Fehlermeldung „Angegebener Schlüssel war Fehler „zu lang“. Dies liegt daran, dass die standardmäßige maximale Länge für Schlüssel in MySQL 767 Byte beträgt.

Eine Lösung besteht darin, die Schlüssellänge explizit in der Migration anzugeben. Zum Beispiel:

Schema::create('users', function(Blueprint $table) {
    $table->increments('id');
    $table->string('email', 250)->unique('users_email_unique');
});

Laravel 5.4 und höher

In Laravel 5.4 und höher kann die Standardzeichenfolgenlänge in der Datei AppServiceProvider.php festgelegt werden:

<code class="php">use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}</code>

Alternativ können Sie die Länge für einzelne Spalten innerhalb der Migration angeben:

<code class="php">Schema::create('users', function(Blueprint $table) {
    $table->increments('id');
    $table->string('email', 191)->unique('users_email_unique');
});</code>

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Angegebener Schlüssel war zu lang' bei Laravel-Migrationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn