所以我在MySQL DB中保存了一个值,格式如下:
[["88"],["90"],["91"]]
我怎样才能将查询写成类似
的内容 SELECT * FROM table WHERE jsonColumn IN '88'
它会找到JSON数据中88
的所有条目?
答案 0 :(得分:2)
您最好使用["88"]
来寻找WHERE
:
SELECT * FROM `table` WHERE `jsonColumn` LIKE '%["88"]%'
这将确保在搜索88
时,不会错误地返回["188"]
等值。此外,你确定你需要从表中一切吗?通常,不需要SELECT *
。
话虽如此,优化规范化可能会更好,因此您不会存储JSON或序列化数据。这将使您的查询更加高效,并且通常更易于使用,尤其是对于更复杂的查询。