gpt4 book ai didi

mysql - 如何在 MySQL 中将元素推送到 JSON

转载 作者:可可西里 更新时间:2023-11-01 08:02:36 26 4
gpt4 key购买 nike

我正在尝试将新元素推送到 MySQL 中的 JSON 数组。

例如。在下表人物中:

id(int)     liked_ids(JSON)
1 [2,3]

现在我想将 5 压入 liked_ids。

我查看了 JSON_ARRAY_APPEND,但即使从文档中也找不到使用它的方法。

最佳答案

你需要使用:

UPDATE tab
SET liked_ids = JSON_ARRAY_APPEND (liked_Ids, '$', 5)
WHERE id = 1;

DBFiddel Demo

编辑:

my liked_ids is initially null.How to enforce it to be an array by default while creating the table?

你可以试试 CASE 表达式:

UPDATE tab
SET liked_ids = CASE WHEN liked_ids IS NULL THEN '[5]'
ELSE JSON_ARRAY_APPEND (liked_Ids, '$', 5)
END
WHERE id = 1;

--or as @Paul Spiegel mentioned
UPDATE tab
SET liked_ids = COALESCE(JSON_ARRAY_APPEND(liked_Ids, '$', 5), JSON_ARRAY(5))
WHERE id = 1;

DBFiddle Demo2

关于mysql - 如何在 MySQL 中将元素推送到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49094598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com