в свежеустановленном MySQL-server из Сизифа (libMySQL-5.0.27-alt1.1 libmysqlclient12-4.0.26-alt1 libMySQL-devel-5.0.27-alt1.1 MySQL-client-5.0.27-alt1.1 MySQL-server-5.0.27-alt1.1 perl-DBD-mysql-3.0007-alt1) на 64-битной машине имею следующую картину: --- mysql> create table dspam_test (token bigint(20)); Query OK, 0 rows affected (0.01 sec) mysql> insert into dspam_test values('3232933621568372736'),('5174632569486238062'),('5860192774298853742'),('8787532532089676142'),('8029914733239132526'); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select token from dspam_test where token in('3232933621568372736','8787532532089676142','8029914733239132526','5174632569486238062','5860192774298853742'); +---------------------+ | token | +---------------------+ | 3232933621568372736 | | 5860192774298853742 | | 8029914733239132526 | +---------------------+ 3 rows in set (0.00 sec) --- На другой машине (32-х битной) на тех же пакетах выбираются все 5 строчек. У меня те же пять строчек выбираются если убрать из select кавычки. Судя по http://dspam.nuclearelephant.com/dspam-users/index.html, см. тред "MySQL 4.1 Bug", это есть баг в MySQL, препятствующий нормальной работе dspam с mysql storage driver. Steps to Reproduce: mysql> create table dspam_test (token bigint(20)); Query OK, 0 rows affected (0.01 sec) mysql> insert into dspam_test values('3232933621568372736'),('5174632569486238062'),('5860192774298853742'),('8787532532089676142'),('8029914733239132526'); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select token from dspam_test where token in('3232933621568372736','8787532532089676142','8029914733239132526','5174632569486238062','5860192774298853742'); Actual Results: +---------------------+ | token | +---------------------+ | 3232933621568372736 | | 5860192774298853742 | | 8029914733239132526 | +---------------------+ 3 rows in set (0.00 sec) Expected Results: +---------------------+ | token | +---------------------+ | 3232933621568372736 | | 5174632569486238062 | | 5860192774298853742 | | 8787532532089676142 | | 8029914733239132526 | +---------------------+ 5 rows in set (0.01 sec)
в http://bugs.mysql.com/bug.php?id=24759 обсуждается похожая проблема и разработчики MySQL убедили своих оппонентов что это не баг, - так и должно быть. В свзяи с тем что множество версий MySQL так себя ведут, и в связи с тем что в самом dspam есть несколько способов обойти эту трудность, считаю нужным закрыть этот баг.