我正在使用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
请告诉我有关此事的建议?
我的数据库无法做到这一点或我错误地使用过吗?
答案 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