代码之家  ›  专栏  ›  技术社区  ›  DevK

mysql 5.7-在json中增加一个数字

  •  1
  • DevK  · 技术社区  · 6 年前

    是否可以大量增加特定的json属性?

    例如,我的json列被调用 metadata 看起来像这样:

    {"counter": 0, ...}
    

    我是否可以更新多行,使计数器在单个查询中递增1?

    编辑:

    因为这个标记太宽了,让我举一个确切的例子。

    表上数据 x ,上面唯一的一栏是 元数据 它有三行:

    {"counter": 0} 我是说, {"counter": 1} 我是说, {"counter": 0, "something": "somethign"}

    期望的结果是一个查询,该查询会将这3个更新为:

    {“计数器”:1} ,请 {"counter": 2} 我是说, {"counter": 1, "something": "somethign"}

    不用说,我不是mysql的专家,我也没能从mysql文档中找到一个对我有用的查询。我们将非常感谢您的帮助。

    1 回复  |  直到 6 年前
        1
  •  1
  •   revo shanwije    6 年前

    你可以用 JSON_EXTRACT 随着 JSON_SET 以下内容:

    UPDATE table SET col = JSON_SET(col, '$.counter', JSON_EXTRACT(col, '$.counter') + 1)