2014-01-31 33 views
2

我有如下表:MySQL的不匹配字符串

CREATE TABLE IF NOT EXISTS `words` (
`Id` int(11) NOT NULL, 
`word` varchar(100) NOT NULL, 
FULLTEXT KEY `word` (`word`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 

下面的查詢返回包含單詞「人」的所有行:

SELECT * 
FROM `words` 
WHERE `word` LIKE '%person%' 

下面的查詢返回任何內容,即使有是僅包含單詞'person'的行:

SELECT * 
FROM `words` 
WHERE `word` = 'person' 

任何線索?我很困惑。

+1

該特定行上是否可能存在一些空白(前導或尾隨)? –

+0

你確定沒有尾隨空格嗎?獲取該記錄中的字符數...... – PinnyM

+1

'SELECT word,word ='person'FROM'words' WHERE'word' LIKE'%person%'' - 它會返回什麼? – zerkms

回答

2

隱藏字符(13 = CR)。

查看菲爾在上面的評論中未來發現這些的非常有用的策略。

+0

總是消毒你的字符串輸入,修剪等等這些類型的問題可能會導致你失去頭髮,請相信我。 – Namphibian