Mysql检查WHERE字段IN(多个值)

时间:2012-10-23 09:47:54

标签: php mysql

早上好,

我正在尝试使用一个聪明的MySql单行来为我做这件事,而不是使用更多的PHP代码或多个sql行......所以这就是它。

我有一个旧样式的mysql(我将很快转换为PDO *),如下所示:

$query_list_releases = "SELECT * from mya_projects WHERE shared_to IN ('".$_id."') ORDER by deadline ASC";

shared_to 字段格式类似于1,3,15,16或1,4,6(id用逗号分隔)。如果 shared_to 只是一个数字,那么它可以正常工作,因为它会将shared_to ==的行搜索到我的$ _id。但是当shared_to超过1个数字时,棘手的部分就会出现,所有数字都用逗号分隔。

我需要在shared_to列中选择我找到的所有行说“1”。

有人有任何想法我该怎么办?

1 个答案:

答案 0 :(得分:5)

在mysql中使用 FIND_IN_SET()

SELECT * from mya_projects
WHERE FIND_IN_SET( id, shared_to)
ORDER by deadline ASC