【发布时间】:2022-10-14 21:28:36
【问题描述】:
在 mysql Ver 8.0.26 中测试
SET @my_json = '{"key1":"val1","key2":"val2"}';
SET @my_key = 'key1';
以下尝试一切正常:
SELECT JSON_VALUE(@my_json,'$.key1');
| JSON_VALUE(@my_json,'$.key1') |
|---|
| val1 |
虽然使用以下一个我得到一个错误:
SELECT JSON_VALUE(@my_json,CONCAT('$.',@my_key));
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'CONCAT('$.',@my_key))' 附近使用正确的语法
另外,如果我尝试其他两种尝试:
SELECT JSON_VALUE(@my_json,CONCAT('$.','key1')); SELECT JSON_VALUE(@my_json,CONCAT('$.','"key1"'));我做错了什么?
我需要使用动态
key names作为@variable。
【问题讨论】: