我有2列:first_name,last_name。而已。如何在2個MySQL列上進行全文索引?
當用戶搜索名稱時,我希望兩個列都作爲一個。 (作爲全名)。
所以當有人搜索「亞歷克斯約翰遜」,我希望它查詢兩列,就好像他們是一列。
我有2列:first_name,last_name。而已。如何在2個MySQL列上進行全文索引?
當用戶搜索名稱時,我希望兩個列都作爲一個。 (作爲全名)。
所以當有人搜索「亞歷克斯約翰遜」,我希望它查詢兩列,就好像他們是一列。
威爾這樣的幫助:
ALTER TABLE your_table_name ADD FULLTEXT(first_name, last_name);
可以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瞭解更多信息。 *編輯,因爲我忘了最小的字大小。
嘗試在查詢中使用concat。
,如:
select conact(first_name, last_name) as fullname from ...
詳細的描述,你會發現這裏:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat