MySQL JSON 查询:参数 1 中的 JSON 文本无效

Posted

技术标签:

【中文标题】MySQL JSON 查询:参数 1 中的 JSON 文本无效【英文标题】:MySQL JSON Query: Invalid JSON text in argument 1 【发布时间】:2022-01-08 14:29:41 【问题描述】:

我正在构建一个跟踪用户数据点的统计表。 JSON 是动态的,可以增长多个级别。我基本上使用我以前经常使用的 json_merge_patch 收到关于无效 JSON 的错误。我不知道为什么这给了我以下错误:

错误:函数 json_merge_patch 的参数 1 中的 JSON 文本无效:“值无效。”在位置 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_merge_function 的 JSON 不正确?

【问题讨论】:

【参考方案1】:

解决了。 json_merge_patch 应该如下所示:

json_merge_patch(jdata,'"pageviews":"user":1')

【讨论】:

以上是关于MySQL JSON 查询:参数 1 中的 JSON 文本无效的主要内容,如果未能解决你的问题,请参考以下文章

MySQL JSON数据类型操作

MySQL JSON数据类型操作

Mysql中的JSON函数使用教程

JSON with C program

查询以连接 MySQL 中的两个 json 数组?

一个对象json中的两个查询mysql