Запрос MySQL JSON: Недопустимый текст JSON в аргументе 1

#mysql #json #mysql-json

#mysql #json #mysql-json

Вопрос:

Я создаю таблицу статистики, которая отслеживает точки пользовательских данных. JSON динамичен и может расти на нескольких уровнях. Я в основном получаю ошибку о недопустимом JSON, используя json_merge_patch, который я часто использовал раньше. Я не могу понять, почему это дает мне следующую ошибку:

ОШИБКА: Недопустимый текст JSON в аргументе 1 для функции json_merge_patch: «Недопустимое значение». в позиции 0.

 insert into  stats.daily_user_stats  VALUES  (null,'2022-02-02',1,18,3,'{"pageviews":{"user":1}}')  on duplicate key update  jdata =  if(  json_contains_path(jdata, 'one', '$.pageviews.user'),  json_set(jdata, '$.pageviews.user', cast(json_extract(jdata, '$.pageviews.user') 1 as UNSIGNED)),  json_merge_patch('jdata','{"pageviews":{"user":1}}')  )  

Любая помощь в определении того, почему JSON, который я передаю в функцию json_merge_function, неверен?

Ответ №1:

Решенный. json_merge_patch должен выглядеть следующим образом:

json_merge_patch(jdata,'{«просмотры страниц»:{«пользователь»:1}}’)