我有這個疑問:MySQL的查詢和文本搜索
select name, body
from news
where body like %MyWord%;
我使用MySQL數據庫引擎。這個查詢將返回名稱,身體當發現正文中的MyWord。
這裏我的問題是,當我搜索正文中的兩個單詞時,如MyWord1,MyWord2。或者更多 !!!
如果你知道這個查詢是按函數調用的(我不能隨時修改那個查詢),我該怎麼做。
我有這個疑問:MySQL的查詢和文本搜索
select name, body
from news
where body like %MyWord%;
我使用MySQL數據庫引擎。這個查詢將返回名稱,身體當發現正文中的MyWord。
這裏我的問題是,當我搜索正文中的兩個單詞時,如MyWord1,MyWord2。或者更多 !!!
如果你知道這個查詢是按函數調用的(我不能隨時修改那個查詢),我該怎麼做。
如果您需要更多的文本搜索模式功能,您應該在MySQL中使用FULL-TEXT-SEARCH,並使用正確的索引。
如果這是您所需要的,您將能夠同時搜索兩個或更多的單詞。
你可以使用一些邪惡的SQL注入(種):)
我假設你通過「myWord」的包含您不能(「不能」或「不要」的查詢功能不喜歡「??)改變。會發生什麼,如果在「myWord」看起來是這樣的:
MyWord1% OR body like %MyWord2
邪惡的,我知道,你已經被警告;)
如果你想找到兩個不同的詞,你可以做到這一點:
select name, body
from news
where body like %MyWord1% and body like %MyWord2%;
但是,很快就會變得非常不高性能,還有一些其他的選項,你可以看看:
這不好在我的情況。 ,因爲這個查詢只是被調用,我不知道他/她是否喜歡搜索2,3,4或更多的單詞。 – 2010-02-28 11:20:57