Oracle 官网上说MySQL 5.7.8版本上有很多的操作json的函数:
Name Description
JSON_APPEND() Append data to JSON document
JSON_ARRAY_APPEND() Append data to JSON document
JSON_ARRAY_INSERT() Insert into JSON array
JSON_ARRAY() Create JSON array
-> Return value from JSON column after evaluating path
JSON_CONTAINS_PATH() Whether JSON document contains any data at path
JSON_CONTAINS() Whether JSON document contains specific object at path
JSON_DEPTH() Maximum depth of JSON document
JSON_EXTRACT() Return data from JSON document
JSON_INSERT() Insert data into JSON document
....
但是我在windows上尝试安装MySQL 5.7.10并没有发现这些函数,反而只能找到github上的一些非官方的零星的实现如lib_mysqludf_json.so,它主要提供了包括json_array
,json_members
,json_object
,json_values
四个函数.
另外Oracle还说了Unless otherwise indicated, the JSON functions were added in MySQL 5.7.8.
(链接) 但我安装的5.7.10版本中不存在(虽然我确实没安装5.7.8版本,但如果5.7.8有的话我想5.7.10应该也有吧)
已经解决了,问题在于我看到的博客的json函数是以jsn_
开头的,而事实上MySQL5.7.10上默认是以json_
开头的。
非常确定已经支持了。
请参考 MySQL 5.7 Reference Manual - The JSON Data Type。