Grundlegendes zur MySQL-Indexlängenbeschränkung
Beim Ausführen der in der Frage angegebenen Befehle tritt ein Fehler auf, da ein Indexschlüssel ebenfalls vorhanden ist lang. Die von MySQL maximal zulässige Schlüssellänge beträgt 1000 Byte.
Ursachen des Fehlers
Der Fehler tritt auf, weil die Indexdefinition im Migrationsversuch für das Gem „acts_as_taggable_on“ geändert wurde erstellt einen Index mit drei Feldern: taggable_id, taggable_type und context. Die Kombination dieser Felder überschreitet die 1000-Byte-Grenze.
Lösung
Um den Fehler zu beheben, müssen die folgenden Punkte verstanden werden:
Beispiel:
So erstellen Sie einen Index nur für die ersten 50 Zeichen der „Ihre_Spalte“. 'Spalte kann die folgende Syntax sein verwendet:
CREATE INDEX example_idx ON YOUR_TABLE(your_column(50))
Hinweis:
Das obige ist der detaillierte Inhalt vonWarum ist mein MySQL-Index zu lang und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!