我需要在我的存储函数中使用变量运行以下查询
SELECT json_unquote(json_extract(value,'$."_key"')) INTO org_rank_value FROM preferences WHERE id=_id;
这里 _key 和 _id 是声明的变量,但 _key 不会被值替换,因为它在引号中。有什么方法可以构建并执行上述查询吗?
最佳答案
没有更多关于您的数据库结构的上下文,这就是我解释您的问题的方式。
1) 您想要选择一个特定的 ID。
2) 您想要根据 ID 更改 json 字段中的参数。
3) 您要执行查询。
DECLARE @json NVARCHAR(MAX) = (SELECT org_rank_value FROM preferences WHERE id=_id)
SELECT * FROM OPENJSON(@json)
WITH (
yourKey varchar(200) '$.key' -- change to whatever your variables are.
) AS changeKey;
UPDATE preferences SET json_unquote(json_extract(value,'$."_key"')) INTO org_rank_value WHERE id=_id;
在MySQL中,你可以使用 JSON_ARRAY_APPEND
关于mysql - MYSQL存储函数中的SELECT查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961526/