mysql 更新 json 属性和一个查询中的另一列

mysql update json attribute and another column in one query

我需要更新列中的 json 值以及更新同一查询中的另一列。

像这样:

UPDATE fixtures 
SET jsonResults = '{}', 
    JSON_SET(jsonFixture, '$.time_status', '0') 
WHERE intRefID = 88961323;

我怎样才能做到这一点?

JSON_SET() returns一个JSON文档值,但是UPDATE语句需要一系列赋值表达式:

UPDATE fixtures 
SET jsonResults = '{}', 
    jsonFixture = JSON_SET(jsonFixture, '$.time_status', '0') 
WHERE intRefID = 88961323;

这会在 JSON_SET() 的结果中替换 jsonFixture,然后在该文档中设置一个字段。

与这样的更新比较:

UPDATE mytable
SET i = i + 1
WHERE ...

它取 i 的值,加 1,然后用该加法表达式的结果替换 i