Mysql 区分大小写的数据库查询

Mysql 区分大小写的数据库查询,mysql,sql,case-sensitive,exact-match,Mysql,Sql,Case Sensitive,Exact Match,可能重复: 我正在编写一个PHP脚本,该脚本将一些值与数据库中的值进行核对。到目前为止,我认为它工作正常,但我发现了一个问题 查询没有查找特定的字符 因此,如果我使用此查询: SELECT * FROM `facilitydb_login` WHERE facilitydb_login.`password` = 'PASS' 我想要结果,因为密码是PASS。但如果您填写pass(小写),则返回相同的条目 如何使其区分大小写?您可以使该列区分大小写 假设您使用的是mysql数据库 ALTER

可能重复:

我正在编写一个PHP脚本,该脚本将一些值与数据库中的值进行核对。到目前为止,我认为它工作正常,但我发现了一个问题

查询没有查找特定的字符

因此,如果我使用此查询:

SELECT *
FROM `facilitydb_login`
WHERE
facilitydb_login.`password` = 'PASS'
我想要结果,因为密码是PASS。但如果您填写pass(小写),则返回相同的条目


如何使其区分大小写?

您可以使该列区分大小写

假设您使用的是mysql数据库

ALTER TABLE facilitydb_login 
CHANGE password `password` VARCHAR(100) BINARY NOT NULL;
或者,如果您想成为select语句的一部分

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

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

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

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

列的排序规则是否区分大小写?您使用的是什么数据库服务器?如果是MySql(正如你提到的PHP,这是一个相当常见的组合),你可以使用COLLATE——是的,我使用的是MySql@dash,我不知道,我怎么能看出来?@TWCrap Execute
显示数据库中的完整列。table
其中
db
table
被替换为您的数据库和表名您还可以使用
binary
关键字。看到了,谢谢你,成功了。我会在7分钟内给你的答案打分;-)