在mysql数据库中搜索代码

时间:2012-02-27 15:50:41

标签: mysql

我有一个存储大量代码的数据库,这些代码用于验证表单的提交。当我运行以下查询时,我得到零行

SELECT * FROM `codes` WHERE `voucher` = 'JTBLYNQ9HA'

但是当我运行以下查询时,它会带回包含代码的单行。

SELECT * FROM  `codes` WHERE  `voucher` LIKE CONVERT( _utf8 '%JTBLYNQ9HA%' USING latin1 ) COLLATE latin1_swedish_ci LIMIT 0 , 30

我做错了什么导致第一个查询失败,或者最好使用第二个查询?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这两个查询不相同。第一个是寻找代码,其凭证完全是“JTBLYNQ9HA”,第二个是寻找代码,其凭证包含该字符串(例如,“ABCDEFGJTBLYNQ9HAHIJKLM”)。

字符集转换和COLLATE几乎肯定无关紧要。