DBAtlas · Atlas für Datenbankbetrieb

1366: Incorrect string/integer value for column (falscher String-/Integer-Wert für Spalte)

MySQL

Was bedeutet das?

In eine Spalte wurde ein Wert eingefügt, der mit Typ oder Zeichensatz der Spalte nicht kompatibel ist. Meist verursacht durch eine Abweichung bei Zeichenkodierung oder Typ.

Ursache

Schreiben eines 4-Byte-Emojis/-Zeichens (utf8mb4) in eine latin1-Spalte, Eingabe von nicht-numerischem Text in eine numerische Spalte, ein falscher Verbindungs-Charset oder Senden eines Werts mit einem anderen als dem erwarteten Typ.

Lösung

Konvertiere bei Zeichenproblemen die Spalte/Tabelle nach utf8mb4: ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci und setze den Verbindungs-Charset auf utf8mb4. Prüfe bei numerischen Feldern die Typen in der Anwendung. Beachte, dass der Server im strikten SQL-Modus (STRICT) läuft; die Grundursache ist Typ/Kodierung der Daten.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank