将字符串与查询中的列名与sha1组合

时间:2013-12-29 12:12:01

标签: mysql sql sha1 concat

我想用同一个表的另一列散列我数据库中的密码。我一直试图用查询来做这件事,但我一直得到同样的错误。

这是我用于测试登录的示例查询。 12345678是密码,我想将电子邮件地址用作哈希。

SELECT * FROM users WHERE
SHA1(CONCAT('12345678', `email`)) = password

当我在mysql中执行此操作时,我收到以下错误:

#1267 - Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation '='

1 个答案:

答案 0 :(得分:1)

您可以指定显式排序规则

SELECT * FROM users 
WHERE SHA1(CONCAT('12345678', `email`)) = password collate utf8_general_ci
相关问题