无法在mysql中使用JSON_EXTRAXT

时间:2017-05-16 04:18:22

标签: php mysql json

我正在使用XAMPP for Linux 5.6.30而MySQL版本是 10.1.21-MariaDB

我有一张桌子'员工'

id     data
1     [{"name":"abc","age":"56","dob":"2017-05-15","about":"test"}]
2     [{"name":"xyz","age":"26","dob":"2017-09-20","about":"test"}]
3     [{"name":"pqr","age":"96","dob":"2017-03-05","about":"test"}]

表字段数据包含JSON字符串。

我想从JSON找到名字,我的查询工作是

SELECT * FROM `tbl_employee` WHERE JSON_EXTRACT(data,"$.name") = "abc"

SELECT * FROM `tbl_employee` WHERE data->"$.name" = "abc"

但它给了我一个错误

> #1305 - FUNCTION testing.json_extract does not exist

我参考了这个link

请告诉我有关此事的建议?

我的数据库无法做到这一点或我错误地使用过吗?

2 个答案:

答案 0 :(得分:1)

自版本10.2.3起,maria db中的函数JSON_EXTRACT可用, 您可以阅读文档here

您必须更新maria db安装才能使用该功能。

答案 1 :(得分:1)

我认为,您使用它的版本不适用于您的情况(JSON_EXTRACT)。如果您正在使用php,则可以使用php native function json_decode()。

进一步可以在这里找到:Error code 1305