我有2列:first_name,last_name。就是这样。
当用户搜索名称时,我希望两列都作为一个列。 (作为全名)。
因此,当有人搜索“Alex Johnson”时,我希望它可以查询两列,就好像它们是一列一样。
答案 0 :(得分:0)
这样的事情会有所帮助:
ALTER TABLE your_table_name ADD FULLTEXT(first_name, last_name);
答案 1 :(得分:0)
您可以将列连接在一起以搜索它们,以便简单查询看起来像这样:
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。 *编辑,因为我忘记了最小字数。
答案 2 :(得分:0)
尝试在查询中使用concat。
像:
select conact(first_name, last_name) as fullname from ...
您可以在此处找到详细说明:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat