You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL8.0.18执行含JSON_VALUE的SQL提示函数不存在是什么原因

MySQL无法调用JSON_VALUE函数问题解答

报错原因

JSON_VALUE为MySQL 8.0.21版本才新增的内置函数,你当前使用的8.0.18版本不支持该函数,因此执行SQL时会触发FUNCTION xxxx.JSON_VALUE does not exist报错。

解决方法

你可以根据实际场景选择任意一种方案处理:

  • 方案1:将MySQL实例升级到8.0.21及以上版本,原有SQL语句可直接正常运行
  • 方案2:使用低版本兼容的语法改写SQL,用JSON_UNQUOTE(JSON_EXTRACT())或者其简写语法糖->>替代JSON_VALUE即可,改写后的语句如下:
-- 写法1:使用JSON_UNQUOTE+JSON_EXTRACT组合
SELECT `name` FROM `list_search_test` 
WHERE JSON_UNQUOTE(JSON_EXTRACT(`info`, '$.sex')) = 'male' 
AND JSON_OVERLAPS(JSON_UNQUOTE(JSON_EXTRACT(`info`, '$.hobby')), JSON_QUOTE('basketball'));

-- 写法2:使用->>语法糖简化,效果和写法1完全一致
SELECT `name` FROM `list_search_test` 
WHERE `info`->>'$.sex' = 'male' 
AND JSON_OVERLAPS(`info`->>'$.hobby', JSON_QUOTE('basketball'));

注:->>是MySQL 5.7版本就支持的语法糖,无需额外升级即可直接在8.0.18版本使用。

内容的提问来源于stack exchange,提问作者书清秋

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 10:21:00