2011-07-24 127 views
1

我正試圖通過phpmyadmin在我的數據庫中搜索任何包含%20的行。這裏是我的查詢:在mySQL數據庫中搜索%20

select * from `jos_picmicro_content` where `introtext` like '\%20' escape '\'; 

除了它返回以下錯誤:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''\'' at line 1 

我做了什麼錯?

回答

5

您已逃脫'。正確的語法是:

select * from `jos_picmicro_content` where `introtext` like '\%20' escape '\\'; 

爲了快速識別問題,將您的查詢到不同的行,例如:

select * from `jos_picmicro_content` 
where `introtext` 
like '\%20' 
escape '\\'; 

那麼MySQL會提醒在哪一行的問題。

2

這可能與MySQL的非標準使用\字符有關。但是,你可以指定任何字符ESCAPE關鍵字:

select * 
from jos_picmicro_content 
where introtext like '@%20' escape '@'; 

但是,這仍然不會返回高於行,其中introtext是正是'%20'其他anyhting,你仍然需要使用通配符來找到%20任何地方在該列:

select * 
from jos_picmicro_content 
where introtext like '%@%20%' escape '@'; 
0

,因爲MySQL默認轉義字符是「\」您可以刪除您的查詢的escape '\';一部分。但是,如果你真的需要escape部分,那麼你必須輸入它:

escape '\\'; 

或者

escape '\\\\'; 
0

你嘗試簡單:

SELECT * FROM jos_picmicro_content其中introtext LIKE「%\ %20%'