2012-01-13 45 views
0

我有2列:first_name,last_name。而已。如何在2個MySQL列上進行全文索引?

當用戶搜索名稱時,我希望兩個列都作爲一個。 (作爲全名)。

所以當有人搜索「亞歷克斯約翰遜」,我希望它查詢兩列,就好像他們是一列。

回答

0

威爾這樣的幫助:

 

ALTER TABLE your_table_name ADD FULLTEXT(first_name, last_name); 
 
0

可以Concat的列在一起,以在搜索它們,這樣一個簡單的查詢應該是這樣的:

create temporary table test(n1 varchar(10), n2 varchar(10)); 
insert into test values('tommy','bobby'); 

select * from test where n1+n2='tommybobby'; 

+--------+--------+ 
| n1  | n2  | 
+--------+--------+ 
| tommy | bobby | 
+--------+--------+ 

全面更先進的全文檢索這聽起來像你想使用匹配功能。

SELECT n1, n2 FROM test 
WHERE MATCH (n1,n2) 
AGAINST ('+tommy +bobby' IN BOOLEAN MODE); 

查看MySQL FULLTEXT Indexing and Searching瞭解更多信息。 *編輯,因爲我忘了最小的字大小。