對於基本的SQL,這可能很簡單,或者可能需要REGEXP,但是我碰到了一堵磚牆。用JSON字符串搜索字段的MySQL查詢
我的數據被存儲在一個JSON字符串像這兩個例子(各在1場):
[{"id":"2","value":["1","3"]},{"id":"3","value":["1","2"]}]
和:
[{"id":"3","value":["2"]},{"id":"3","value":["1","2","5"]}]
我想在這些最後括號之間來搜索值其中可能包含許多數字["1","2","5"] or just a single on ["2"]
。起始數字對應於2個類別 - 單個"id":"2"
和"id":"3"
。
使用%"2"%
與一個簡單的LIKE當然匹配的一切。我可以通過"id":"$var"
查詢返回每個類別,然後使用PHP在獲得結果後對其進行過濾,但數據可能非常大,我確信對於SQL大師來說很容易。
我沒有選擇更改字段的格式,它必須保持爲JSON。
任何幫助表示讚賞!謝謝。
你想成爲能夠幫助我解決類似的問題? ''「(。* \」Reticle。* \「:\」*。'。$ reticle2。'。* \「)」''是我的'REGEXP'的外觀,它的一個參數綁定':reticle' 。查詢有效,但沒有結果。 – r3wt 2015-03-19 06:09:23
只是想補充一點,這些查詢不能編入索引,所以如果您使用的是高流量的網站,這樣的實現可能會導致很大的性能提升。 – Oddman 2015-09-18 07:49:50