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

用python更新mysql json查询

  •  -1
  • daniel  · 技术社区  · 7 年前

    我有一个json字段,假设来自 {"X":[{"a":"1","t":"2"},{"a":"2","t":"4"}]} 如果我想的话 使现代化 我的 ,怎么做? mysql的正常语法是什么?

    UPDATE T1 set F1 = JSON_SET(F1, '{"a":"1","$.t", "10"}') where id = 1; 
    

    尝试使用此。。它只是在同一个字段中添加另一个值,如

    {"X":[{"a":"1","t":"2"},{"a":"2","t":"4"}],"t":"10"}

    提前感谢。。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Barmar    7 年前

    你的 path X

    UPDATE T1
    SET F1 = JSON_SET(F1, '$.X[0].t', '10')
    WHERE id = 1
    

    要搜索 a = 1 并更新相应的 t ,您可以使用 JSON_SEARCH .a 具有 .t 获取要设置的属性。

    UPDATE T1
    SET F1 = JSON_SET(F1, REPLACE(REPLACE(JSON_SEARCH(F1, 'one', '1', null, '$**.a'), '"', ''), '.a', '.t'), '10')
    WHERE id = 1;