0

我想在 where 子句中选择多个值,但它没有选择任何东西。

这是我的选择查询:

'SELECT * FROM table WHERE  id IN (4, 5)  ORDER BY id desc'

我错过了什么?

4

3 回答 3

1

根据您的评论,查询失败的原因是该列是 avarchar并且您在子句中使用了int值。IN如果您引用数字,MySQL 不会转换类型,那么您的查询将使用varchar

http://dev.mysql.com/doc/refman/5.0/en/type-conversion.html

于 2013-08-09T01:12:17.107 回答
0

我想你的表没有 id = 4 或 id = 5 的数据。

尝试

 SELECT * FROM table WHERE  id = 4 

那也返回任何东西吗?我敢打赌没有。

于 2013-08-09T00:03:18.457 回答
-2

为什么不只是

'SELECT * FROM table WHERE (id = '4' OR id= '5') ORDER BY id desc'

于 2013-08-09T00:02:11.933 回答