MySQL:我的SELECT FROM IN语法有问题

时间:2010-08-09 16:37:02

标签: sql mysql

SELECT * FROM `objects` WHERE (user_id IN ('7,8,12,9') AND visibility IN ('0,1'));

但它只返回与第二个数组的第一个元素对应的东西 所以它返回如下:

SELECT * FROM `objects` WHERE (user_id IN ('7,8,12,9') AND visibility IN ('0'));

(我交换了两个值(可见性arg)并返回了完全不同的结果集。我想要的是两个结果都在一个查询中。

它也为第一个阵列做同样的事情。仅使用第一个值。

我想要所有值的结果。

2 个答案:

答案 0 :(得分:3)

如果是一个字符串,则需要引用每个值:

SELECT {对象{1}}

或者你实际上在处理你可以做的整数:

WHERE (user_id IN ('7','8','12','9') AND visibility IN ('0','1')); {对象{1}}

您的SELECT条款在哪里?

答案 1 :(得分:1)

您的“IN”条款错误。它应该是user_id in (7,8,12,9)或者,如果用户ID是字符,则user_id in ('7','8','12','9')