【问题标题】:MySQL appending to a JSON fieldMySQL 附加到 JSON 字段
【发布时间】:2019-02-27 21:30:11
【问题描述】:

我正在尝试编写一个查询,将 JSON 值附加到我数据库中的 JSON 字段。我有一个名为 cart 的表,其中包含三个字段:id type intstatus type varcharitems type json. 所以基本上我正在尝试编写一个查询,它会通过 id 找到我的购物车,它会在末尾添加一个项目到目前为止,我的item field 是这样的:

SELECT  cart set items= JSON_ARRAY_APPEND(@items, '$', {"item_id": "5"}) where id = 1

我知道这还不够,因为它不适合我,所以有人可以帮助我吗?我现在有点卡住了。

【问题讨论】:

  • 你在这里混合选择和更新。

标签: mysql json


【解决方案1】:

实际上,您当前的代码并不遥远,只是您需要使用UPDATE 而不是SELECT。我只能通过使用 JSON_OBJECT 来表示要添加到顶级数组的键值对来获得正确的行为。考虑以下更新查询:

UPDATE cart
SET items = JSON_ARRAY_APPEND('[{"item_id": "10"}]', '$', JSON_OBJECT('item_id', '5'))
WHERE id = 1;

Demo

【讨论】:

    猜你喜欢
    • 2019-07-23
    • 2018-12-07
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    相关资源
    最近更新 更多