mysql:15412
From: nakade <nakade <nakade@xxxxxxxxxx>>
Date: Tue, 5 Oct 2010 19:28:08 +0900
Subject: [mysql 15412] not in句がうまく動かない。
なかでと申します。 以下のようなテーブルがあったとします。 CREATE TABLE IF NOT EXISTS `usrs` ( `id` bigint(20) unsigned NOT NULL auto_increment, `name` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `usrs` (`id`, `name`) VALUES(1, 'ほげ'); INSERT INTO `usrs` (`id`, `name`) VALUES(2, 'ふご'); このとき、idフィールドが偶数のデータを取り出したくて SELECT * FROM `usrs` WHERE id % 2 not in (1); のようなSQLを発行したのですが、「返り値が空でした(行数0)」のような 表示がされます。なお、 SELECT * FROM `usrs` WHERE id % 2 in (0); SELECT * FROM `usrs` WHERE id % 2 != 1; のようにすると取り出すことができます。 確認したmysqlのバージョンは4.0.27でした。 なお、5.0.22では、この問題はありませんでした。 で、教えていただきたいのですが、これは、4.0.27に限った問題なのでしょうか? それとも4系の問題なのでしょうか? あるいは、 not in の使い方やテーブルの仕様などに問題があるのでしょうか? 以上、教えていただければ幸いです。 では、失礼します。
-> 15412 2010-10-05 19:28 [nakade <nakade@xxxxx] not in句がうまく動かない。 15413 2010-10-06 11:07 ┗[nakade <nakade@xxxxx] 15414 2010-10-06 13:25 ┗[Meiji KIMURA <meiji.] 15415 2010-10-06 13:55 ┗[nakade <nakade@xxxxx]