运行 json_extra 提示 List index out of bound(-2) 问题

mysql版本:mysql5.7,mysql5.8

工具:navicat

如果是mysql 5.7 以下版本,自行升级,5.7以下版本不支持json_extra函数的使用。

目前测试的sql语句:

select json_extract('{"name":"Zhaim","tel":"13240133388"}',"$.name");

测试工具:navicat;

  有三个不同的版本:11.1.13 - 企业版、

           11.1.13 - premium、

           12.0.18(64-bit) - Premium

如下,启动图一样:

11.1.13 - 企业版、11.1.13 - premium 运行sql后结果栏没数据,点击数据表格,弹出框,而且是不停的弹出,挺恶心的,然后程序都退出了,如下图:

一开始我以为是mysql的问题,网上下了一个5.8,花了半天时间再虚拟机装了一个,用11.1.13 - 企业版、11.1.13 - premium测试sql语句还是弹出,于是我调出mysql原始界面测试。

先测试5.7,效果如下:

 没有问题,再测试5.8(下面是shell 命令行界面):

 也没问题,恍然大悟,应该是navicat的问题,于是打开第三个navicat:12.0.18(64-bit) - Premium,话说我怎么装了这么多navicat,结果:

 所以,在mysql5.7以上的版本中,json_extra函数式没问题的,如果再弹出List index out of bound(-2),就换一个mysql客户端试试,比如navicat 12.0.18(64-bit) - Premium。问题解决。

原文地址:https://www.cnblogs.com/ShawnYang/p/14020141.html