Точное сравнение строк в запросе MySQL

Я создал подобную таблицу в 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 запись. Но я использую NHibernate с MySQL для генерации запроса из таблицы сопоставления. Итак, как решить этот случай?

7
задан Kaii 27 April 2012 в 08:19
поделиться