【问题标题】:JSON_REMOVE nested item, MySQLJSON_REMOVE 嵌套项,MySQL
【发布时间】:2018-06-04 21:08:34
【问题描述】:

非常简单,我在 MySQL 中有以下 JSON:

{"car" : ["honda","ferrari"]}

我想单独在“honda”上使用 JSON_REMOVE,但我找不到如何制定路径。我原以为会是这样,但它会删除所有汽车。

`update users set cars =
    JSON_REMOVE(cars, '$."car"', '$."honda"')
    where idUsers = 1;`

据我所知,由于某种原因,MySQL 文档并未涵盖这一点。任何帮助表示赞赏。

【问题讨论】:

    标签: mysql json path nested


    【解决方案1】:

    试试:

    SELECT
      JSON_REMOVE(
        @`json`,
        JSON_UNQUOTE(
          JSON_SEARCH(@`json`, 'one', @`car_to_delete`, NULL, '$.car[*]')
        )
      );
    

    dbfiddle

    【讨论】:

    • 谢谢,这就是我想要的。不幸的是,我在搞乱 JSON_SEARCH,现在我的函数都不能用于在列中插入或更新数据。不知道发生了什么。
    【解决方案2】:

    请尝试:-

    JSON_REMOVE(value,'$.car.honda')
    

    【讨论】:

      猜你喜欢
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      • 2014-09-01
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多