키워드를 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!