对像filter这样的json_encoded数据执行sql查询

时间:2016-06-16 05:20:28

标签: php mysql

我有一个表,其中有一个名为tag的字段,其类型为varchar。此列包含json_encoded数据。

["4","5","6","7"]

记录可以有多个标签。我不想使用我知道更有效的数据透视表。我想暂时保持这种状态。

我想过滤所有具有特定标记的记录。只是一个标签......我怎样才能为它创建一个查询?

1 个答案:

答案 0 :(得分:1)

SELECT * FROM WHERE json_encoded_list_of_tags LIKE'%TAG%'

假设您只需要一个标记,%'是通配符(您可能知道?),这将匹配列中包含TAG的任何行。

您还应该优化此查询以包含转义引号,以避免与其他标记的子字符串匹配