如何在数组元素中搜索mysql数组元素

时间:2014-08-14 13:41:06

标签: php mysql arrays implode

我有一个包含不同字段的表

id1 field = (1,2,4)
id2 field = (1,4)
id3 field = (2,4)
id4 field = (3,2)

我想通过field = 13 => (1,3)

获取所有 id

现在我这样做:

SELECT * FROM TABLE WHERE `field` LIKE '%1%' OR `field` LIKE '%3%'

我得到:id1, id2, id4

如何简化此请求?感谢

1 个答案:

答案 0 :(得分:0)

你必须使用正则表达式。例如

SELECT * FROM TABLE WHERE `field` REGEXP '[[:<:]]1[[:>:]]' OR  `field` REGEXP '[[:<:]]2[[:>:]]';
  

[[:&lt;:]],[[:&gt;:]]

     

这些标记代表字边界。他们匹配开头和   词尾,分别。一个单词是一系列单词字符   不在单词字符之前或之后的单词字符。一个字   character是alnum类中的字母数字字符或   下划线(_)。   http://dev.mysql.com/doc/refman/5.1/en/regexp.html