早上好,
我正在尝试使用一个聪明的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”。
有人有任何想法我该怎么办?
答案 0 :(得分:5)
在mysql中使用 FIND_IN_SET()
SELECT * from mya_projects
WHERE FIND_IN_SET( id, shared_to)
ORDER by deadline ASC