mysql - JSON_REMOVE 嵌套项目,MySQL

标签 mysql json path nested

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

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

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

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

由于某种原因,据我所知,MySQL 文档并未涵盖这一点。如有任何帮助,我们将不胜感激。

最佳答案

尝试:

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

参见dbfiddle .

关于mysql - JSON_REMOVE 嵌套项目,MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50688808/

相关文章:

mysql - 将mysql数据库表中的目录路径替换为url路径

php - 如何在不访问数据库连接的情况下Mysqli转义字符串?

java - 具有嵌套参数类的 Jackson Json

json - 如何通过 OSM 找到某种类型的对象

json - 如何将 JsonPost 发送到 Nlog 中的 WebService 目标

java - 如何在 servlet 中打开文件?

c# - Entity Framework 数据库首先与 MySQL 不工作

php - 使用另一个表中的数组值更新表中的多个值

mysql - 产生以下输出的 SQL 查询?

java - Windows 路径变量中 Java 的 "bin"目录混淆 - 如何解决此问题?