Heim > Artikel > Backend-Entwicklung > Warum erhalte ich bei Laravel-Migrationen die Fehlermeldung „Eindeutiger Schlüssel ist zu lang“?
Fehlerbehebung bei Laravel-Migrationsfehlern: „Eindeutiger Schlüssel ist zu lang“
Beim Versuch, eine Benutzertabelle in Laravel zu migrieren, stoßen Sie möglicherweise auf das Problem Fehler: „[IlluminateDatabaseQueryException] ... Der angegebene Schlüssel war zu lang; die maximale Schlüssellänge beträgt 767 Byte.“ Dieser Fehler tritt auf, wenn der von Ihnen angegebene eindeutige Schlüssel die maximal zulässige Länge überschreitet.
Verstehen des Problems
Die Standardzeichenfolgenlänge in Laravel für Spalten wie E-Mail beträgt 255 Charaktere. Wenn Sie versuchen, einen eindeutigen Schlüssel für eine Spalte mit einer längeren Zeichenfolge zu erstellen (in diesem Fall 320 Zeichen für die E-Mail-Spalte), schlägt die Migration fehl.
Behebung des Fehlers
<code class="php">$table->string('email', 250);</code>
<code class="php">$table->string('email');</code>
Legen Sie in der Datei AppServiceProvider.php in der Startmethode die Standardzeichenfolgenlänge für alle Migrationen fest:
<code class="php">use Illuminate\Database\Schema\Builder; public function boot() { Builder::defaultStringLength(191); }</code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei Laravel-Migrationen die Fehlermeldung „Eindeutiger Schlüssel ist zu lang“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!