【发布时间】:2016-04-03 07:23:12
【问题描述】:
如何在 MySQL 级别解析 Json? 我在 XAMPP 中的 MySQL 版本为 5.6.26
MySQL --version
MySQL Ver 14.14 Distrib 5.6.26, for Win32 (x86)
我创建了一个表。
CREATE TABLE `message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` text,
PRIMARY KEY (`id`)
);
插入了一些行
INSERT INTO message (id,data) VALUES(1,'{"from":"chris","title":"Awesome Article","body":"Lorem ipsum dolor sit amet, consectetur adipiscing elit."}');
INSERT INTO message (id,data) VALUES(2,'{"from":"loren","title":"Another Article","body":"Lorem ipsum dolor sit amet, consectetur adipiscing elit."}');
INSERT INTO message (id,data) VALUES(3,'{"from":"jason","title":"How to run a query","body":"Lorem ipsum dolor sit amet, consectetur adipiscing elit."}');
我尝试获取 Json 值:
SELECT Json_get(data,'title') FROM message WHERE id=2;
我得到错误:
SELECT json_get(data,'title') FROM message WHERE id=2; ERROR 1305 (42000): FUNCTION mydatabasename.json_get 不存在
有人有想法吗?
【问题讨论】:
-
我对它不是很有经验,但是我觉得如果你的数据是Json,你应该使用NoSQL数据库,或者如果你使用SQL数据库,你最好在业务逻辑中进行解析.看起来你试图让你的 SQL 数据库表现得像 NoSQL 一样......
-
在 SQL 数据库中,您的方案将是静态的,您的
message表将包含 Json 数据中的所有字段