MySQL 버전 5.0.67MySQL 버그? Select the WHERE id = '1blah'
이 매우 간단한 테이블을보고 MySQL 버그를 찾았는지, 내가 대답을 찾으려고했지만 당신이 상상할 수있는 것처럼 말하라. 그렇게이
수행,CREATE TABLE `product` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `product` VALUES (1, 'jim');
INSERT INTO `product` VALUES (2, 'bob');
거기에서 그때 분명히 이것은 다음 행을 반환하지만 다음
SELECT * FROM `product` WHERE `id` = '1';
를 선택할 수있는 권리 검색어와 함께 와서 조금 어렵습니다
SELECT * FROM `product` WHERE `id` = '1blah';
음 ... 왜? 확실히 이것이 잘못 되었나요? 아니면 화가 나나요? MySQL에 버그 리포트를 보내기 전에 웹 크롤링을 조금 더 할 것입니다.
아, 이제는 어떻게 멈추는 지 알아 내고, 나는 이것을 원하지 않는다. 나는 BINARY()가 그럴 수 있다고 생각한다. – Catharsis
@ 카타르시스 - BINARY가 아닌 것이다. 상관없이 쿼리 자체가 아니라 SQL 쿼리 생성 코드에서이 문제를 해결해야합니다. –
@Catharsis :'CAST (id as TEXT) '를 사용할 수는 있지만 질의에서'id'에 색인을 사용할 수있는 능력을 잃을 것입니다. –