Heim > Datenbank > MySQL-Tutorial > Wie behebt man den MySQL-Fehler: „BLOB/TEXT-Spalte wird in der Schlüsselspezifikation ohne Schlüssellänge verwendet'?

Wie behebt man den MySQL-Fehler: „BLOB/TEXT-Spalte wird in der Schlüsselspezifikation ohne Schlüssellänge verwendet'?

Mary-Kate Olsen
Freigeben: 2025-01-19 23:21:10
Original
783 Leute haben es durchsucht

How to Fix MySQL Error:

Fehlerbehebung bei MySQL-Fehler: BLOB/TEXT-Spalte in der Schlüsselspezifikation

Diese Anleitung behebt den MySQL-Fehler „BLOB/TEXT-Spalte ‚message_id‘ wird in der Schlüsselspezifikation ohne Schlüssellänge verwendet.“ Dieser Fehler tritt auf, wenn eine BLOB- oder TEXT-Spalte in einem Primärschlüssel oder Index ohne Angabe einer Länge verwendet wird.

Das Problem ergibt sich aus der variablen Länge der Datentypen BLOB und TEXT. Ohne eine definierte Größenbeschränkung kann MySQL keine Eindeutigkeit garantieren. Daher muss bei der Indizierung oder Verwendung dieser Typen als Primärschlüssel eine Schlüssellänge angegeben werden.

MySQL erlaubt jedoch keine Schlüssellängenbeschränkungen für TEXT- oder BLOB-Felder. Die Lösung besteht darin, entweder die BLOB- oder TEXT-Spalte aus dem Index oder Primärschlüssel zu entfernen oder eine andere Spalte als Primärschlüssel auszuwählen.

Wenn Sie die Größe der TEXT- oder BLOB-Spalte einschränken möchten, sollten Sie stattdessen VARCHAR verwenden. Geben Sie die maximale Länge in Klammern an; Beispielsweise begrenzt VARCHAR(255) die Spalte auf 255 Zeichen.

Auch ohne BLOB- oder TEXT-Spalten kann der Fehler aufgrund von Problemen mit der VARCHAR Spaltenlänge bestehen bleiben. VARCHAR hat eine maximale Länge von 255 Zeichen. Wenn Sie eine zu große Länge angegeben haben (wie VARCHAR(512)), konvertiert MySQL diese möglicherweise automatisch in SMALLTEXT, was den Fehler verursacht. Stellen Sie sicher, dass Ihre VARCHARFeldgröße weniger als 256 Zeichen beträgt.

Ausführlichere Informationen zum MySQL-Fehler 1170, insbesondere zu TEXT/BLOB-Typen in Schlüsseln und Primärschlüsseln, finden Sie in der referenzierten Dokumentation.

Das obige ist der detaillierte Inhalt vonWie behebt man 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!

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