mysql - 未获取以变量作为 json 键的 Mysql json 值

标签 mysql json select

SET @im := (SELECT items->"$.one" From fruits where id = 12);
//it's working and saved result into @im variable

但我需要用函数中的变量来获取它 我尝试过但失败了.. 我尝试了 concat,它也不起作用, 我尝试准备执行 stmt,它也不起作用。

SET @p := "one";
SET @im := (SELECT items->"$."@p From fruits where id = 12);
//it's not working


"$.one" ==> "$."@p
//difference..

帮帮我,有什么办法可以得到这个..

最佳答案

尝试一下这个方法,应该可行。

SET @p = 'one';
SET @sql = '(SELECT items->"$.@p" into @im From fruits where id = 12)';
SET @sql = replace(@sql,'@p',@p);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
select @im;

关于mysql - 未获取以变量作为 json 键的 Mysql json 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53700590/

相关文章:

jQuery ajaxForm 返回 .json 文件

mysql - 使用 GROUP BY 获取单个值 - MySQL

mysql - 如何同时使用 INSERT、SELECT 和 SET?

php - 如何将转换后的数组插入mysql? (PHP)

php - 如何在mysql中使用多个and or运算符

java - Web 应用程序上的错误 406

json - 如何在自定义 JsonConverter 中使用默认序列化

mysql - 改进 MySQL 查询性能

mysql - SQL中,如何计算最大并发用户数

mysql - 查询选择最大值