Table name: `team`
Column name: `team_members`
Column value1: 1,72,34 //these are userids [Row1]
Column value2: 72,38 [Row2]
Column value2: 10,3  [Row3]

现在我想匹配登录用户的ID是否存在于team_members或不存在。
为此,我按如下方式启动查询:
<?php
$loginuserid = 72;
$query = 'SELECT * FROM `team` WHERE `team_members` IN ("'.$loginuserid.'")';
?>

预期结果:
It must return 2 rows: 1 and 2

但它不是这样工作的。它只返回第1行。
请提出解决方案。

最佳答案

我按照建议使用FIND_IN_SET()找到了解决方案。谢谢您!
以下是解决我的问题的查询:

SELECT * FROM `team` WHERE FIND_IN_SET('72',`team_members`)

结果:
This returns : row1 and row2

关于mysql - SQL:使用IN子句搜索列值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33886186/

10-11 02:47