나는 2 개의 컬럼을 가지고있다 : first_name, last_name. 그게 전부 야.2 개의 MySQL 컬럼에서 전체 텍스트 인덱싱을 수행하려면 어떻게해야합니까?
사용자가 이름을 검색 할 때 두 열이 모두 하나로 동작하기를 원합니다. (성명으로).
그래서 누군가가 "Alex Johnson"을 검색 할 때 두 열을 마치 하나의 열처럼 쿼리하려고합니다.
이 도움이 같은나는 2 개의 컬럼을 가지고있다 : first_name, last_name. 그게 전부 야.2 개의 MySQL 컬럼에서 전체 텍스트 인덱싱을 수행하려면 어떻게해야합니까?
사용자가 이름을 검색 할 때 두 열이 모두 하나로 동작하기를 원합니다. (성명으로).
그래서 누군가가 "Alex Johnson"을 검색 할 때 두 열을 마치 하나의 열처럼 쿼리하려고합니다.
이 도움이 같은윌 뭔가 :
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 |
+--------+--------+
전체 고급 전체 텍스트 검색 Match (일치) 기능을 사용하려는 것처럼 들립니다.
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