如何使用mysql从一组id中搜索id?

时间:2013-08-28 09:15:12

标签: mysql sql

在我的表格中我有一个 user_ids 。 user_ids feilds包含 12,45,78,95,21,78,98

等值

我需要的是我需要一个 mysql 查询来搜索字段中的特定ID(例如:45)。

我使用喜欢运算符,但它没有像我预期的那样工作。例如:当我搜索 5 时返回tru,但 id 5 不在列表中。

我想知道 mysql 中是否有默认功能。

你可以帮助我......

我的询问。

SELECT * FROM `FRIENDSLIST` WHERE `USERS_ID` LIKE '%'.$ID.'%';

注意:我不知道这个问题是否符合标准,请不要投票。请帮助我......

3 个答案:

答案 0 :(得分:3)

这也有效:

select * from FRIENDSLIST where find_in_set( $ID, USERS_ID ) <> 0

答案 1 :(得分:1)

尝试

Where ',' + MyField + ',' Like '%,' + MySearchString + ',%'

问题在于您将其视为ID,但它只是一个字符串。因此,当您在'12,45,78,95,21,78,98'中搜索'5'时,它会在45中的5中找到它。如果您用逗号包围,那么它会搜索',45,' ,12,45,78,95,21,78,98,'并找到它,但是你找',5,'它根本不会匹配。

您还需要在开头和结尾添加逗号,以便能够计算第一个和最后一个ID。

答案 2 :(得分:0)

根据您的数据,更简单的方法是使用逗号搜索,如',45,'。

但更好的方法是根据逗号分割它们并与之匹配。