3140: ER_INVALID_JSON_TEXT: Invalid JSON text
MySQLЧто это значит?
В столбец JSON или функцию JSON передан недопустимый (синтаксически некорректный) текст JSON. MySQL отклоняет операцию, так как не может разобрать значение как JSON.
Почему возникает?
Незакрытая кавычка/скобка, завершающая запятая, одинарные кавычки, ошибки экранирования или обычный текст, отправленный в столбец JSON. Появляется, когда некорректный текст передаётся в функции, такие как JSON_SET, JSON_INSERT, или в столбец типа JSON.
Как исправить
Исправьте текст JSON до корректного синтаксиса: используйте двойные кавычки, уберите завершающие запятые, проверьте экранирование. Проверьте, корректен ли текст: SELECT JSON_VALID('{...}'); (возвращает 1, если корректен). Используйте надёжную библиотеку для сериализации JSON на уровне приложения и проверяйте его перед отправкой на сервер.
Ещё по этой СУБД
- 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