MySQLでそのようなテーブルを作成しました:
DROP TABLE IF EXISTS `barcode`;
CREATE TABLE `barcode` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(40) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO `barcode` VALUES ('1', 'abc');
INSERT INTO `barcode` VALUES ('2', 'abc ');
次に、テーブル バーコードからデータをクエリします。
SELECT * FROM barcode WHERE `code` = 'abc ';
結果は次のとおりです。
+-----+-------+
| id | code |
+-----+-------+
| 1 | abc |
+-----+-------+
| 2 | abc |
+-----+-------+
しかし、結果セットは1レコードだけにしたいです。私は次の方法で回避します:
SELECT * FROM barcode WHERE `code` = binary 'abc ';
結果は 1 レコードです。しかし、マッピングテーブルからクエリを生成するためにMySQLでNHibernateを使用しています。では、このケースを解決するにはどうすればよいですか?