2016-09-26 27 views
0

所以我必須保存在MySQL數據庫的值在以下格式的MySQL查詢: [["88"],["90"],["91"]]如何編寫與凡在JSON

我怎麼能寫的查詢是這樣的

SELECT * FROM table WHERE jsonColumn IN '88'和它會發現所有的條目在JSON數據中有88

+0

嗨@Xeen我afriad'[[「88」],[「90」],[「91」]]不是有效的JSON – Andurit

+2

您應該更改您的表格設計。切勿將多個值存儲在單個列中。 –

回答

2

你會更好看,使用WHERE["88"]

SELECT * FROM `table` WHERE `jsonColumn` LIKE '%["88"]%' 

這將確保88搜索時,不返回不正確如["188"]值。另外,你確定你需要桌子上的所有東西嗎?通常,不需要SELECT *

也就是說,優化標準化可能會更好,因此您不存儲JSON或序列化數據。這將使您的查詢效率更高,並且通常更容易處理,特別是對於更復雜的查詢。

+0

你能解釋downvote嗎? – BenM

+0

我想知道爲什麼downvote。這是一個很好的答案,並有相關的解釋。 – zedfoxus

+1

克服它。它會花費你30000中的2個代表點。 –