我有一个SQL语句:
SELECT * FROM customers WHERE BINARY login='xxx' AND password='yyyy'
表中没有blob / binary字段,在WHERE之后我还需要BINARY吗?
答案 0 :(得分:15)
BINARY
是一个内置关键字,位于WHERE
子句之后,强制对完全区分大小写的匹配进行比较。
作为旁注,您还可以在创建表时添加BINARY
关键字,使列区分大小写。
答案 1 :(得分:6)
http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html
BINARY运算符将其后面的字符串转换为二进制字符串。这是一种简单的方法,可以逐个字节而不是逐个字符地强制进行比较。 BINARY也会导致尾随空格很重要。
答案 2 :(得分:4)
SELECT 'user' = 'UsEr' // true
SELECT BINARY 'user' = 'UsEr' // false