1

大家早上好,

我正在尝试使用一个聪明的 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”的所有行。

有人知道我应该如何进行吗?

4

1 回答 1

5

在 mysql 中使用FIND_IN_SET()

SELECT * from mya_projects
WHERE FIND_IN_SET( id, shared_to)
ORDER by deadline ASC
于 2012-10-23T09:50:02.123 回答