首页 > 解决方案 > 如何将一个人添加到 mysql json 数组中?

问题描述

我在 mysql 中有一个 json 数组,有 2 个这样的人

{"people": [
            {"lastname": "Goodwill", "firstname": "James"}, 
            {"lastname": "Smith", "firstname": "Oliver"}
            ]
}

如何将新人添加到数组中?我想我需要使用 JSON_ARRAY_APPEND 但我不知道如何。表名 = 人,列名 = json_col,数组名 = 人。我试过这个,它非常接近。

UPDATE person SET json_col = JSON_ARRAY_APPEND(json_col, "$.people", "lastname":"Jonsson", "firstname":"Kurt") WHERE id = '5';

但这给了我的 SQL 语法错误。

标签: phpmysqljson

解决方案


我终于做到了。

UPDATE person SET json_col = JSON_ARRAY_APPEND(json_col, '$.people', CAST('{"lastname": "Jonsson","firstname": "Kurt"}' as JSON)) WHERE id = '5';

这就是我将新人附加到 mysql json 数组中的方式。


推荐阅读