2014-07-07 31 views
0

我有一個表名與信息欄下方問題與特定的MySQL查詢哪裏

id(PK),encrypted_msg varchar(255) collation is utf8_general_ci 

上市,當我運行下面的查詢

SELECT * FROM `messages` 
where `messages`.`encrypted_msg` ='ON8dmsy9RI2UahR5ydAbsCIDXnrbsoa2' 

它不給任何結果,但「ON8dmsy9RI2UahR5ydAbsCIDXnrbsoa2」此值存在於列encrypted_msg

+0

運行此查詢和'Select'再次'修改表'messages'轉換爲字符集UTF8整理utf8_general_ci;'... –

回答

0

嘗試使用TRIM或模式匹配LIKE運算符如果在字段之前或之後仍有空格。

SELECT * 
FROM `messages` 
WHERE trim(`messages`.`encrypted_msg`) LIKE 'ON8dmsy9RI2UahR5ydAbsCIDXnrbsoa2' 

OR

SELECT * 
FROM `messages` 
WHERE `messages`.`encrypted_msg` LIKE '%ON8dmsy9RI2UahR5ydAbsCIDXnrbsoa2%' 

OR

SELECT * FROM `messages` 
where trim(`messages`.`encrypted_msg`) ='ON8dmsy9RI2UahR5ydAbsCIDXnrbsoa2' 
+0

仍你的第一個查詢不會返回任何值,無論如何,我不希望像查詢。我想要完全匹配。 – user3279320

+0

請檢查這個查詢'SELECT * FROM messages WHERE encrypted_msg'''\ r \ n%''以及它返回的結果只是告訴我。 – Sadikhasan

+0

它返回一行,但這一行不包含字符串ON8dmsy9RI2UahR5ydAbsCIDXnrbsoa2 – user3279320