1366: Incorrect string/integer value for column (falscher String-/Integer-Wert für Spalte)
MySQLWas 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.
Weitere Einträge zu dieser Datenbank
- 1215Cannot add foreign key constraint (Foreign-Key-Constraint kann nicht hinzugefügt werden)
- 1451Cannot delete or update a parent row: a foreign key constraint fails (Elternzeile kann nicht gelöscht/geändert werden: Foreign-Key-Constraint schlägt fehl)
- 1452Cannot add or update a child row: a foreign key constraint fails (Kindzeile kann nicht eingefügt/geändert werden: Foreign-Key-Constraint schlägt fehl)
- 1044Access denied for user to database (Zugriff des Benutzers auf die Datenbank verweigert)
- 1264Out of range value for column (Wert außerhalb des Bereichs für Spalte)
- 1052Column 'x' in field list is ambiguous (Spalte in der Feldliste mehrdeutig)
- 1136Column count doesn't match value count (Spaltenanzahl passt nicht zur Werteanzahl)