MySql“IN”子句的奇怪问题

时间:2014-04-16 17:00:37

标签: mysql sql

我们有一个查询在WHERE上有三个“IN”子句,第一个是按字符串过滤而另外两个是按id过滤。

第一个声明如下:

AND some_table.town_field IN ('Gotham') 

另外两个看起来像这样:

AND (some_table.id_field IN(3251, 2531, 5123, [and around 50 more]))

现在我们遇到的错误是,虽然我们有5条带有“town”=“Gotham”的记录,但如果我们将第一个IN子句改为:

,MySql只返回3
 AND some_table.town_field IN ('Gotham', '') 

效果很好!这是没有意义的,如果我们将第二个和第三个“in”修剪为只有这个记录id并删除其他ID,它也运行良好...我查看了MySql日志并且没有记录任何错误,所以它绝对不是MAX_ALLOWED_PACKET问题。

0 个答案:

没有答案