3140: ER_INVALID_JSON_TEXT: Invalid JSON text
MySQLWas bedeutet das?
An eine JSON-Spalte oder JSON-Funktion wurde ungültiger (syntaktisch fehlerhafter) JSON-Text übergeben. MySQL lehnt die Operation ab, weil es den Wert nicht als JSON parsen kann.
Ursache
Ein nicht geschlossenes Anführungszeichen/eine nicht geschlossene Klammer, ein abschließendes Komma, einfache Anführungszeichen, Fehler bei Escape-Zeichen oder reiner Text, der an eine JSON-Spalte gesendet wird. Tritt auf, wenn fehlerhafter Text an Funktionen wie JSON_SET, JSON_INSERT oder an eine Spalte vom Typ JSON übergeben wird.
Lösung
Korrigiere den JSON-Text zu gültiger Syntax: Verwende doppelte Anführungszeichen, entferne abschließende Kommas, prüfe Escapes. Teste, ob der Text gültig ist: SELECT JSON_VALID('{...}'); (liefert 1, wenn gültig). Serialisiere JSON in der Anwendungsschicht mit einer zuverlässigen Bibliothek und validiere es, bevor du es an den Server sendest.
Weitere Einträge zu dieser Datenbank
- 1118ER_TOO_BIG_ROWSIZE: Row size too large
- 1170ER_BLOB_KEY_WITHOUT_LENGTH: BLOB/TEXT column used in key specification without a key length
- 1592ER_BINLOG_UNSAFE_STATEMENT: Unsafe statement written to the binary log
- 1526ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value
- 1049Unknown database 'name'
- 1364Field 'name' doesn't have a default value
- 1206The total number of locks exceeds the lock table size