>  기사  >  데이터 베이스  >  MySQL의 여러 테이블에서 키워드 검색을 수행하고 원본 테이블을 식별하는 방법은 무엇입니까?

MySQL의 여러 테이블에서 키워드 검색을 수행하고 원본 테이블을 식별하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-23 12:32:16851검색

How to Perform a Keyword Search Across Multiple Tables in MySQL and Identify the Table of Origin?

키워드를 사용하여 MySQL에서 다중 테이블 검색

질문:

다음과 같은 데이터베이스에서 각각 'content' 및 'title' 필드를 포함하는 세 개의 테이블(메시지, 주제 및 댓글), 어떻게 수행할 수 있습니까? 키워드를 사용하여 모든 테이블에서 LIKE 검색을 하시겠습니까? 각 결과의 원본 테이블을 어떻게 구별합니까?

해결책:

PHP 및 MySQL에서 키워드를 사용하여 여러 테이블을 검색하려면 UNION 쿼리를 활용할 수 있습니다. :

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);

이 쿼리는 각 테이블의 결과를 단일 출력으로 통합합니다. 각 행에 추가된 '유형' 필드는 해당 행이 시작된 테이블에 대한 식별자 역할을 합니다. 이 쿼리를 실행한 후 결과를 반복하고 'type' 값을 기반으로 원본 테이블을 결정할 수 있습니다.

위 내용은 MySQL의 여러 테이블에서 키워드 검색을 수행하고 원본 테이블을 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.