MySQL:按JSON属性搜索返回错误

时间:2016-09-08 02:37:35

标签: mysql json

我在MySQL 5.7表中有一个数据类型为n的列和以下值:

log(n)

我需要使用属性" 3"查询所有行。 (无论价值如何),我正在进行此查询:

O(1)

我得到了:

json

也尝试过:

{"1": "test"}
{"2": [25,23], "3": [28,54], "71": "test"}
{"2": [25,12], "3": [28,72], "33": "test2"}
{"2": [25,11], "3": [28,23], "63": "test3"}
{"4": "test4"}

请帮忙。

1 个答案:

答案 0 :(得分:1)

使用JSON_CONTAINS_PATH,因为您不关心值

SELECT data 
  FROM notes 
 WHERE JSON_CONTAINS_PATH(data, 'one', '$."3"');

示例输出:

+-----------------------------------------------+
| data                                          |
+-----------------------------------------------+
| {"2": [25, 23], "3": [28, 54], "71": "test"}  |
| {"2": [25, 12], "3": [28, 72], "33": "test2"} |
| {"2": [25, 11], "3": [28, 23], "63": "test3"} |
+-----------------------------------------------+