2016-06-15 77 views
4

我有一個「測試」表PK字段「id」和JSON字段「json_data」。我提出以下插入:使用mysql JSON_SEARCH:爲什麼我必須引用數字?

insert into test (json_data) values (JSON_ARRAY(1,2)); 

但是,如果我這樣做

select * from test where JSON_SEARCH(json_data, 'all', 2) is not null; 

我得到 「空集」。雖然如果我插入

insert into test (json_data) values (JSON_ARRAY("1","2")); 

,然後重複查詢,我確實終於得到

+----+------------+ 
| id | json_data | 
+----+------------+ 
| 2 | ["1", "2"] | 
+----+------------+ 

爲什麼我以引用的數字是能夠對他們的查詢?我寧願不這樣做,是否有辦法解決?

回答

0

JSON_SEARCH只能用於字符串,根據MySQL文檔。

試試這個:

SET @j = '[3, 2, 1]'; 
SELECT JSON_CONTAINS(@j, '3', '$'); 
相關問題