我正在尝试将新元素推送到MySQL中的JSON数组。
例如 在下表人员中:
id(int) liked_ids(JSON)
1 [2,3]
Run Code Online (Sandbox Code Playgroud)
现在我想将5推入Liked_ids。
我查看了JSON_ARRAY_APPEND,但即使从文档中也找不到一种使用它的方法。
您需要使用:
UPDATE tab
SET liked_ids = JSON_ARRAY_APPEND (liked_Ids, '$', 5)
WHERE id = 1;
Run Code Online (Sandbox Code Playgroud)
编辑:
我的liked_ids最初为null。如何在创建表时默认将其强制为数组?
您可以尝试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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
886 次 |
| 最近记录: |