2

可能重复:
mysql 区分大小写的查询

'正在开发一个 PHP 脚本,该脚本检查数据库中的一些值。到目前为止,我认为它工作正常,但我发现了一个问题。

查询不是在寻找特定的字符。

所以如果我使用这个查询:

SELECT *
FROM `facilitydb_login`
WHERE
facilitydb_login.`password` = 'PASS'

我想要结果,因为密码是PASS。但是,如果您填写 pass(小写),则会返回相同的条目。

我怎样才能让它区分大小写?

4

2 回答 2

6

您应该使用区分大小写的排序规则,例如

SELECT *
FROM `facilitydb_login`
WHERE facilitydb_login.`password` collate latin1_general_cs = 'PASS'

名称中的 CS 表示它区分大小写

于 2012-10-19T11:56:57.113 回答
2

你可以使列区分大小写

假设您正在使用 mysql 数据库

ALTER TABLE facilitydb_login 
CHANGE password `password` VARCHAR(100) BINARY NOT NULL;

或者如果你想成为 select 语句的一部分,那么

SELECT *
FROM `facilitydb_login`
WHERE BINARY 
facilitydb_login.`password` = 'PASS'
于 2012-10-19T11:55:07.527 回答