Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 1406: Daten zu lang für Spalte?

Wie behebt man den MySQL-Fehler 1406: Daten zu lang für Spalte?

Susan Sarandon
Susan SarandonOriginal
2025-01-03 09:51:39376Durchsuche

How to Resolve MySQL Error 1406: Data Too Long for Column?

Fehlercode: 1406 – Verwaltung übermäßig langer Daten in MySQL

Beim Versuch, Daten in eine MySQL-Tabelle einzufügen, stoßen Benutzer möglicherweise auf einen Fehlercode 1406: Daten für Spalte zu lang. Dieser Fehler tritt auf, wenn die Daten die für den Datentyp der Zielspalte angegebene Länge überschreiten.

Fehlerursache:

Im bereitgestellten Beispiel hat die VARCHAR-Spalte TESTcol eine Länge von 45 Zeichen. Allerdings löst der Versuch, Daten mit einer Länge von 47 Zeichen einzufügen, den Fehler aus. Standardmäßig schneidet MySQL alle Werte ab, die die angegebene Spaltenbreite überschreiten.

Lösung:

Um diesen Fehler zu umgehen, können Benutzer zwei Optionen in Betracht ziehen:

  1. Spaltenlänge anpassen: Erhöhen Sie die Länge der Zielspalte, um die längeren Daten aufzunehmen. Dies kann durch eine ALTER TABLE-Anweisung erreicht werden, wie zum Beispiel:

    ALTER TABLE TEST MODIFY COLUMN TESTcol VARCHAR(60);
  2. Strikten Modus deaktivieren: In MySQL steuert der strikte Modus den Grad der durchgeführten Datenvalidierung bei Einfügevorgängen. Das Deaktivieren des strikten Modus ermöglicht das Einfügen von Werten, die die Spaltenlänge überschreiten. Diese Option kann jedoch die Datenintegrität gefährden und wird für die meisten Szenarien nicht empfohlen.

    SET @@global.sql_mode= '';

Hinweis: Das Deaktivieren des strengen Modus sollte mit Vorsicht und nur für verwendet werden bestimmte Fälle, in denen die Datenintegrität kein Problem darstellt.

Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1406: Daten zu lang für Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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