|
最近遇到一个MySQL的Issue,问题如下:
CREATE TABLE `authentication` (
`ID` bigint(20) NOT NULL AUTO_INCREMENT,
`DEVUSERNAME` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`DEVPASSWORD` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`DEVROLENAME` varchar(255) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `Idx_DEVROLENAME` (`DEVROLENAME`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_bin ;
insert into authentication (ID,DEVUSERNAME,DEVPASSWORD,DEVROLENAME) values(8,'1.0','1.0','1.0');
update authentication set DEVROLENAME='1.0TR069\r\n' where id =8;
commit;
使用如下语句
select * from authentication where DEVROLENAME like "1.0TR069%";
不能查询出这条记录。
如果删除索引Idx_DEVROLENAME, 再查询则可以查出来。
不知道什么原因,望高手指点。
测试版本 MySQL 5.1.24 linux版 |
|