2012-07-18 60 views
-1

,我使用看起來像MySQL表:MySQL查詢欄文本

id | name | other_names 
--------------------------------- 
    1 | john | peter johny mike 
    2 | jane | kevin pite janes john 
    3 | carl | carlo nick pole 

我想每個用戶的查詢編號,表中「other_names」中包含的結果名稱以查詢中的單詞開始。例如,如果查詢中的單詞是「joh」,則需要獲得結果ID 1和2.

我嘗試了包含LIKE%joh%的查詢,但因此我得到每個用戶ID# 「其他名稱」列的名稱包含查詢中的單詞。

SELECT * FROM table WHERE name LIKE '".$word."%' OR other_names LIKE '%".$word."%' 

我需要從塔「other_names」的地名用字開始從查詢,不包含單詞。

回答

0

刪除前導%你需要REGEXP運營商和邊境關鍵字

SELECT * FROM table WHERE name REGEXP '[:<:]]someword' 
+0

REGEXP '[[:<:]]' 確實幫助,謝謝。 – Sergio 2012-07-18 18:28:00

0

從查詢

SELECT * FROM table 
WHERE other_names LIKE '".$word."%'