2010-12-27 5 views
1

첫 번째로, 나는 여기에서 검색했지만 내 필요에 따라 대답하지 않았습니다. 어쩌면 틀린 키워드 나는 찾을 것이다 :MySQL이 입력 한 모든 키워드를 검색 할 수있게 만드는 방법

나의 데이타베이스에 줄 title에서보기 데이터.

  1. Stack Overflow
  2. Stack Exchange
  3. I love Stack Overflow

문에 대한 올바른 구문을 무엇

SELECT title 
FROM table 
WHERE 
(
    title LIKE '%keyword%' 
) 

질문

키워드가 Stack Overflow 인 경우 1,2 & 3을 표시 하시겠습니까?

나는 단지 행 번호 1

를 반환 할 것 LIKE '%keyword%'를 사용하는 경우

답변

2
SELECT * 
FROM mytable 
WHERE title LIKE '%stack%' 
     OR title LIKE '%overflow%' 

, 당신은 그것에 FULLTEXT 인덱스를 생성하고

SELECT * 
FROM mytable 
WHERE MATCH(title) AGAINST ('stack overflow' IN BOOLEAN MODE) 
+0

니스를 사용하고는 FULLTEXT''에 일을 할 수 있습니다. 시원한! – wow

1

당신은 당신의 입력에서 모든 단어를 중단해야하고, 자신의 LIKE 절에서 사용하게 : 말했다

SELECT `title` 
FROM `table` 
WHERE (`title` LIKE '%Stack%' OR `title` LIKE '%Overflow%') 

, 나는 당신의 원래 진술이 당신이 거기에 준 3 번째 예와 왜 일치하지 않았는지 잘 모르겠습니다.

또한 fulltext indexing을 확인하시기 바랍니다. 필자는 그다지 성공을 거두지 못했지만, 이론 상으로는 MyISAM 스토리지 엔진과 같은 몇 가지 가정하에 설정하려고하는 작업을 수행하도록 설계되었습니다. 테이블이 MyISAM 경우

관련 문제