MySQL 更新JSON字段

示例

在前面的示例中,我们看到了如何将混合数据类型插入JSON字段。如果我们要更新该字段怎么办?我们将在上一个示例中命名的数组中添加scheveningenvariations。

UPDATE 
    myjson 
SET 
    dict=JSON_ARRAY_APPEND(dict,'$.variations','scheveningen') 
WHERE 
    id = 2;

笔记:

  1. $.variations我们的json字典中的数组。$符号代表json文档。有关mysql识别的json路径的完整说明,请参阅https://dev.mysql.com/doc/refman/5.7/en/json-path-syntax.html

  2. 由于我们还没有使用json字段进行查询的示例,因此该示例使用主键。

现在,如果我们这样做,SELECT * FROM myjson我们将看到

+----+-----------------------------------------------------------------------------------------+
| id | dict                                                                                    |
+---+-----------------------------------------------------------------------------------------+
| 2  | {"opening": "Sicilian", "variations": ["pelikan", "dragon", "najdorf", "scheveningen"]} |
+----+-----------------------------------------------------------------------------------------+
1 row in set (0.00 sec)