gpt4 book ai didi

MySQL json_remove 返回空值

转载 作者:行者123 更新时间:2023-11-30 21:50:02 26 4
gpt4 key购买 nike

我有一个名为 product_option_param 的表,其中有一列 povs 是 JSON 类型,它基本上保留了带有 id 的 JSON 数组(例如,[1,2 ,3])

当我需要删除,例如,一个 id 1,我执行这个:

UPDATE product_option_param 
SET povs = JSON_REMOVE(
povs, replace(JSON_SEARCH(povs, 'one', 1), '"', '')
)
WHERE json_search(povs, 'one', 1) IS NOT NULL

但它只是将数组中所有具有 1 的单元格变为空。我做错了什么?

最佳答案

尝试:

SET @`id` := '1';

UPDATE `product_option_param`
SET `povs` =
JSON_REMOVE(
`povs`,
JSON_UNQUOTE(
JSON_SEARCH(
REPLACE(
REPLACE(
REPLACE(
`povs`,
'[',
'["'
),
']',
'"]'
),
',',
'","'
),
'one',
@`id`
)
)
)
WHERE
JSON_CONTAINS(`povs`, @`id`);

参见 db-fiddle .

关于MySQL json_remove 返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47708818/

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