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
Freigeben: 2025-01-04 05:06:39
Original
883 Leute haben es durchsucht

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`) 
);
Nach dem Login kopieren

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

INSERT INTO TEST
VALUES
(
    1,
    'Vikas'
);
Nach dem Login kopieren

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'
);
Nach dem Login kopieren

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"
Nach dem Login kopieren

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= '';
Nach dem Login kopieren

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!

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