[SQL] SQL 문은 어디에서 매개 변수를 무시
SQLSQL 문은 어디에서 매개 변수를 무시
SELECT * FROM people
WHERE
university='2'
AND MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE)
OR (fname LIKE '%box%' OR lname LIKE '%box%')
이 쿼리는 내가 엄격하게 결과를 보여준다 그것은 있도록이을 업데이트하는 방법을 '2'= 대학 이외의를 통해 필터 결과를있게된다 대학 = 2
내가 좋아하는로 검색 전체 텍스트 결합했다 이유 때문에 최소 문자 수의입니다 전체 텍스트 검색이와 내가 공유 호스팅 계획이기 때문에 내가 설정을 수정할 수 없습니다입니다. 그 결과 나는 수용하기 위해 모두 전체 텍스트와 LIKE를 결합했다
어떤 생각이 매우 도움이 고맙다 것!
해결법
-
==============================
1.당신의 괄호 수정
당신의 괄호 수정
SELECT * FROM people WHERE university='2' AND (MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE) OR fname LIKE '%box%' OR lname LIKE '%box%')
대학되도록 = '2'와 단지 MATCH 아닌 FNAME / LNAME 테스트와 결합되는 한, OR보다 높은 우선 순위를 갖는다.
from https://stackoverflow.com/questions/27663976/sql-statement-is-ignoring-where-parameter by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 엔티티 프레임 워크를 사용하여 하나 개의 필드를 업데이트하는? (0) | 2020.03.13 |
---|---|
[SQL] 클라이언트 - 서버 데이터베이스를 동기화 (0) | 2020.03.13 |
[SQL] 표 명명 딜레마 : 단수 복수 대 이름 [폐쇄] (0) | 2020.03.13 |
[SQL] 여러 쿼리 같은 테이블하지만 서로 다른 열 MySQL의에서 (0) | 2020.03.13 |
[SQL] SQL의 여러 문에 가입 (0) | 2020.03.13 |