From: Daevid Vincent
Date: February 25 2005 1:14am
Subject: Is there something broken with IN()? WAS: How can I find the records that are NOT IN the list
List-Archive: http://lists.mysql.com/mysql/180537
Message-Id: <200502250118.j1P1IwIg007266@daevid.com>
MIME-Version: 1.0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Now I'm really confused. I decided to just brute force this while I waited
for a real answer. I threw in a couple test numbers I knew would fail
5555555 and 66666. How come none of the values aside from the two I threw in
for good measure are failing?! Is there something broken with "IN()" on
v4.0.18, for pc-linux-gnu on i686
";
$i = 1;
foreach ($foo as $k => $v)
{
echo $i++." ";
$sth = SQL_QUERY('SELECT id FROM mytable WHERE id = '.$v.' LIMIT 1',
true);
if ($sth)
{
if (SQL_NUM_ROWS($sth) < 1) echo "CANNOT FIND:
".$v."
";
}
}
?>
foo = 109
1 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 5555555
LIMIT 1
CANNOT FIND VULN: 5555555
2 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11704
LIMIT 1
3 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10144
LIMIT 1
4 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11842
LIMIT 1
5 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11299
LIMIT 1
6 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11192
LIMIT 1
7 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11563
LIMIT 1
8 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11378
LIMIT 1
9 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10343
LIMIT 1
10 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 66666
LIMIT 1
CANNOT FIND VULN: 66666
11 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10752
LIMIT 1
12 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10626
LIMIT 1
13 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11916
LIMIT 1
14 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11456
LIMIT 1
15 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11813
LIMIT 1
16 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11337
LIMIT 1
17 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10219
LIMIT 1
18 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11356
LIMIT 1
19 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11800
LIMIT 1
20 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10243
LIMIT 1
21 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10251
LIMIT 1
22 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11357
LIMIT 1
23 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11353
LIMIT 1
24 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11267
LIMIT 1
25 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 12110
LIMIT 1
26 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 200044
LIMIT 1
27 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11875
LIMIT 1
28 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11060
LIMIT 1
29 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10233
LIMIT 1
30 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10865
LIMIT 1
31 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10264
LIMIT 1
32 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10857
LIMIT 1
33 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10659
LIMIT 1
34 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10266
LIMIT 1
35 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10987
LIMIT 1
36 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11317
LIMIT 1
37 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11868
LIMIT 1
38 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10858
LIMIT 1
39 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11087
LIMIT 1
40 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11088
LIMIT 1
41 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10260
LIMIT 1
42 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11321
LIMIT 1
43 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11350
LIMIT 1
44 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10247
LIMIT 1
45 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10258
LIMIT 1
46 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10248
LIMIT 1
47 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11232
LIMIT 1
48 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10588
LIMIT 1
49 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11086
LIMIT 1
50 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11828
LIMIT 1
51 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10055
LIMIT 1
52 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11347
LIMIT 1
53 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10278
LIMIT 1
54 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11349
LIMIT 1
55 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10261
LIMIT 1
56 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11499
LIMIT 1
57 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11351
LIMIT 1
58 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11316
LIMIT 1
59 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 12284
LIMIT 1
60 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 12240
LIMIT 1
61 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 12265
LIMIT 1
62 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11340
LIMIT 1
63 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10708
LIMIT 1
64 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11041
LIMIT 1
65 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11853
LIMIT 1
66 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 12255
LIMIT 1
67 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11507
LIMIT 1
68 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11788
LIMIT 1
69 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10067
LIMIT 1
70 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10888
LIMIT 1
71 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11875
LIMIT 1
72 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11333
LIMIT 1
73 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10867
LIMIT 1
74 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10938
LIMIT 1
75 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11030
LIMIT 1
76 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10654
LIMIT 1
77 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10538
LIMIT 1
78 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10918
LIMIT 1
79 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11068
LIMIT 1
80 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11237
LIMIT 1
81 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11060
LIMIT 1
82 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10127
LIMIT 1
83 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10495
LIMIT 1
84 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10035
LIMIT 1
85 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10294
LIMIT 1
86 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10173
LIMIT 1
87 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10098
LIMIT 1
88 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10282
LIMIT 1
89 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10383
LIMIT 1
90 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10049
LIMIT 1
91 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10076
LIMIT 1
92 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10277
LIMIT 1
93 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10106
LIMIT 1
94 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10541
LIMIT 1
95 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10176
LIMIT 1
96 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10131
LIMIT 1
97 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10252
LIMIT 1
98 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11051
LIMIT 1
99 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11152
LIMIT 1
100 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11932
LIMIT 1
101 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11318
LIMIT 1
102 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10886
LIMIT 1
103 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10605
LIMIT 1
104 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10029
LIMIT 1
105 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11857
LIMIT 1
106 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10549
LIMIT 1
107 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10329
LIMIT 1
108 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 11510
LIMIT 1
109 SQL: SELECT scan_id FROM V2_Data.pluginlist_view WHERE scan_id = 10539
LIMIT 1
total = 110
> -----Original Message-----
> From: Daevid Vincent [mailto:daevid@stripped]
> Sent: Thursday, February 24, 2005 4:20 PM
> To: mysql@stripped
> Subject: How can I find the records that are NOT IN the list
>
> I have an "IN()" list of 107 IDs (PK) out of about 6000 possible.
>
> I do this query and I get 105 rows back.
>
> I want to know which two [107 - 105 = 2] of the IDs in the
> "IN()" list are
> absent?
>
> # 105 rows
> SELECT count(*)
> FROM mytable
> WHERE id IN (11704, 10144, 11842, 11299, 11192, 11563, 11378,
> 10343, 10752,
> 10626, 11916, 11456, 11813, 11337, 10219, 11356, 11800,
> 10243, 10251, 11357,
> 11353, 11267, 12110, 200044, 11875, 11060, 10233, 10865, 10264, 10857,
> 10659, 10266, 10987, 11317, 11868, 10858, 11087, 11088,
> 10260, 11321, 11350,
> 10247, 10258, 10248, 11232, 10588, 11086, 11828, 10055,
> 11347, 10278, 11349,
> 10261, 11499, 11351, 11316, 12284, 12240, 12265, 11340,
> 10708, 11041, 11853,
> 12255, 11507, 11788, 10067, 10888, 11875, 11333, 10867,
> 10938, 11030, 10654,
> 10538, 10918, 11068, 11237, 11060, 10127, 10495, 10035,
> 10294, 10173, 10098,
> 10282, 10383, 10049, 10076, 10277, 10106, 10541, 10176,
> 10131, 10252, 11051,
> 11152, 11932, 11318, 10886, 10605, 10029, 11857, 10549, 10329, 11510,
> 10539);
>
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
> http://lists.mysql.com/mysql?unsub=daevid@stripped
>