1. 程式人生 > 實用技巧 >執行 json_extra 提示 List index out of bound(-2) 問題

執行 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客戶端試試,比如navicat12.0.18(64-bit) - Premium。問題解決。