在我的表格中我有一个 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.'%';
注意:我不知道这个问题是否符合标准,请不要投票。请帮助我......
答案 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,'。
但更好的方法是根据逗号分割它们并与之匹配。