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?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 05:06:39926Durchsuche

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

MySQL-Fehler: „1406. Daten zu lang für Spalte“

Wenn Sie versuchen, Daten in eine MySQL-Tabelle einzufügen, bei der die Datenlänge der Spalte ihre definierte Breite überschreitet, werden Sie Es wird der Fehler „Fehlercode: 1406. Daten zu lang für Spalte“ angezeigt.

Bedenken Sie Folgendes Beispiel:

CREATE  TABLE `TEST` (
  `idTEST` INT NOT NULL ,
  `TESTcol` VARCHAR(45) NULL ,
  PRIMARY KEY (`idTEST`) 
);

Das Einfügen von Daten innerhalb der angegebenen Spaltenlänge funktioniert wie erwartet:

INSERT INTO TEST
VALUES
(
    1,
    'Vikas'
);

Der Versuch, Daten einzufügen, die die maximale Spaltenlänge überschreiten, führt jedoch zu folgendem Fehler:

INSERT INTO TEST
VALUES
(
    2,
    'Vikas Kumar Gupta Kratika Shukla Kritika Shukla'
);

Dies geschieht, weil MySQL jeden Einfügewert abschneidet, der länger als die angegebene Spalte ist Breite.

Lösung:

Um dieses Problem zu beheben, deaktivieren Sie vorübergehend den strikten Modus von MySQL:

In Ihrer my.ini (Windows) oder my.cnf (Unix)-Datei:

Bearbeiten Sie die Einstellung „sql-mode“, um sie zu entfernen „STRICT_TRANS_TABLES“:

# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Verwenden einer SQL-Abfrage in einem Datenbankverwaltungstool:

Führen Sie die folgende Abfrage aus, um den globalen SQL-Modus auf leer zu setzen:

SET @@global.sql_mode= '';

Wenn der strikte Modus deaktiviert ist, können Sie Daten einfügen, die die Spaltenlänge überschreiten. Seien Sie jedoch vorsichtig, da dies zu Datenkürzungen und Inkonsistenzen führen kann. Setzen Sie diese Lösung daher mit Bedacht ein.

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