如何在MySQL版本中解析json列< 5.7

时间:2017-01-11 16:51:28

标签: mysql sql json

我有一个名为inventory的专栏。

id ..... inventory

此列的内容为:

{"STC1":{"count":"1"},"STC2":{"count":0}}

count值是可变的。 我不想使用应用程序端,我想使用sql。

例如

我想要的是什么:

... where STC1.count > 0

... where STC1.count > 1 or STC2.count < 5

1 个答案:

答案 0 :(得分:1)

根据the official MySQL website,您不能为5.7.8版本引入JSON支持,对于旧版本,它本身不可用。

对于MySQL&lt; 5.7.8,这个JSON内容只是一个字符串,MySQL无需从中提取结构化数据。

充其量,您将能够检查WHERE inventory LIKE '%"STC1":{"count":"0"%'STC10或类似的情况下检测行,但不会更多,并且它会很快变得非常毛茸茸做任何复杂的事情。

一般来说,最好存储原子数据以避免这种问题。