3 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
默認(rèn)情況下,MySQL查詢不區(qū)分大小寫。以下是一個(gè)尋找“價(jià)值”的簡(jiǎn)單查詢。但它會(huì)返回'VALUE','value','VaLuE'等...
SELECT * FROM `table` WHERE `column` = 'value'
好消息是,如果您需要進(jìn)行區(qū)分大小寫的查詢,則使用BINARY運(yùn)算符非常容易,這會(huì)強(qiáng)制逐字節(jié)比較:
SELECT * FROM `table` WHERE BINARY `column` = 'value'

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
為了改善詹姆斯的出色答案:
最好放在BINARY常數(shù)之前代替:
SELECT * FROM `table` WHERE `column` = BINARY 'value'
放在BINARY前面column會(huì)阻止在該列上使用任何索引。

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
雖然列出的答案是正確的,但我可以建議,如果您的列要保存區(qū)分大小寫的字符串,請(qǐng)閱讀文檔并相應(yīng)地更改表定義。
在我的情況下,這相當(dāng)于將我的列定義為:
`tag` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ''
在我看來,這是優(yōu)先調(diào)整您的查詢。
添加回答
舉報(bào)