Fehlerbehebung bei BLOB/TEXT-Schlüsselspezifikationsfehlern von MySQL
Das Definieren von Primärschlüsseln oder Indizes für MySQL-Tabellen, die BLOB- oder TEXT-Spalten enthalten, führt häufig zu folgendem Fehler:
<code>BLOB/TEXT column 'message_id' used in key specification without a key length</code>
Dieser Fehler tritt auf, weil MySQL-Indizes Datentypen fester Länge erfordern. Da BLOB- und TEXT-Spalten variable Längen haben, ist eine Angabe der Schlüssellänge zur Bestimmung der Indexgröße erforderlich. Die direkte Angabe einer Schlüssellänge für BLOB/TEXT wird jedoch nicht unterstützt.
Lösungsstrategien:
Mehrere Ansätze können diese Einschränkung beheben:
Weitere Überlegungen:
Der Fehler „Schlüsselspezifikation ohne Schlüssellänge“ kann auch ohne direkte Beteiligung der BLOB-/TEXT-Spalte auftreten. Dies geschieht, wenn die Länge eines VARCHAR-Schlüssels 255 Zeichen überschreitet, was eine implizite Konvertierung in SMALLTEXT auslöst.
Um dies zu vermeiden, stellen Sie sicher, dass alle in Schlüsseln verwendeten VARCHAR-Spalten eine maximale Länge von weniger als 255 Zeichen haben.
Das obige ist der detaillierte Inhalt vonWie behebe ich den MySQL-Fehler „BLOB/TEXT-Spalte wird in der Schlüsselspezifikation ohne Schlüssellänge verwendet'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!