MySQL错误代码:1305MySQL客户端版本:5.5.52中不存在FUNCTION JSON_EXTRACT

问题描述

mysql客户端的版本无关。该功能在mysql服务器中存在(或在您的情况下不存在)。因此,唯一相关的是mysql服务器版本。并且此功能仅在mysql服务器5.7及更高版本中可用。升级客户端无法解决问题,您需要升级服务器。

有没有解决的办法?是。PHP的json_decode

这可以工作,因为您的查询没有WHERE子句。您正在看整个桌子。因此,您可以轻松地获取所有数据和json_decode,然后在您的PHP代码中进行处理。如果您有很多数据,这将非常慢。

解决方法

目标:-json_extract不存在错误。

我确实有这样的消息正文。

  < message type = "chat"
  to = "socialapp_233@22.52.258.256"
  from = "socialapp_6@22.52.258.256/9fs4kgn090" > < body > {
    "opponent_xmpp_id": "socialapp_233@22.52.258.256","latest_message_id": "6233"
  } < /body><active>http:/ / jabber.org / protocol / chatstates < /active></message >

我试图提取 opponent_xmpp_idlatest_message_id

为此,我写了如下查询。

SELECT  LEFT(ExtractValue( stanza,"//@from" ),LOCATE("@",ExtractValue( stanza,"//@from" )) - 1),LEFT(ExtractValue( stanza,"//@to" ),"//@to" )) - 1),ExtractValue(stanza,"//body"),"//@chattype"),TRIM(BOTH '"' FROM json_extract(ExtractValue(stanza,'$.opponent_xmpp_id')) AS opponent_xmpp_id,json_extract(ExtractValue(stanza,'$.latest_message_id') AS latest_message_id        
FROM
ofOffline

导致错误

1305-FUNCTION databaseName.json_extract不存在

按照我搜索其支持仅在> MYsql 5.7版本。

那么在MySQL客户端版本5.5.52中是否有任何函数可以像json_extract一样进行类似的工作?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...