Heim > Datenbank > MySQL-Tutorial > So beheben Sie den Laravel-Migrationsfehler: Längenbeschränkung für eindeutige Schlüssel überschritten?

So beheben Sie den Laravel-Migrationsfehler: Längenbeschränkung für eindeutige Schlüssel überschritten?

Linda Hamilton
Freigeben: 2024-11-30 00:29:09
Original
836 Leute haben es durchsucht

How to Solve Laravel Migration Error: Unique Key Length Limit Exceeded?

Laravel-Migrationsfehler: Längenbeschränkung für eindeutigen Schlüssel überschritten

In Laravel beim Erstellen einer Migration zum Hinzufügen eines eindeutigen Schlüssels zu einer Spalte mit einem Wenn Sie eine zu lange Zeichenfolge verwenden, tritt möglicherweise der folgende Fehler auf:

[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Nach dem Login kopieren

Dieser Fehler kann häufig durch die Angabe einer kleineren Länge für behoben werden die Spalte. Die Standardlänge für eine Zeichenfolge beträgt 250 Zeichen, was für die meisten E-Mail-Adressen und andere typische Zeichenfolgen ausreichend sein sollte.

In Ihrer spezifischen Migration haben Sie die E-Mail-Spalte als Zeichenfolge mit einer Länge von 320 definiert. Versuchen Sie es Reduzieren Sie diese Länge auf 250 oder den Standardwert:

Schema::create('users', function (Blueprint $table) {
    $table->string('email', 250); // or $table->string('email');
Nach dem Login kopieren

Wenn der Fehler auch nach dem Anpassen der Spaltenlänge immer noch auftritt, können Sie versuchen, eine Standardzeichenfolgenlänge für Ihre Spalte festzulegen Datenbank. In Laravel 5.4 und höher können Sie dies erreichen, indem Sie Folgendes zu Ihrer AppServiceProvider.php-Datei hinzufügen:

use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}
Nach dem Login kopieren

Dadurch wird die Standardzeichenfolgenlänge für alle neuen Spalten, die in Migrationen erstellt werden, auf 191 Zeichen festgelegt.

Das obige ist der detaillierte Inhalt vonSo beheben Sie den Laravel-Migrationsfehler: Längenbeschränkung für eindeutige Schlüssel überschritten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage