Mysql检查WHERE字段IN(multiple_values)

Adr*_*ase 1 php mysql

大家早上好,

我正在尝试使用一个聪明的MySql单行,它将为我做的事情,而不是使用更多的PHP代码或多个SQL行...所以这里它.

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

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

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

我需要在shared_to列中选择所有找到"1"的行.

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

Joe*_*eph 5

在mysql中使用FIND_IN_SET()

SELECT * from mya_projects
WHERE FIND_IN_SET( id, shared_to)
ORDER by deadline ASC
Run Code Online (Sandbox Code Playgroud)