반응형
MySQL 데이터베이스에서 쿼리를 실행하려고하는데 'status'항목을 무시하는 것 같습니다.
SELECT * FROM `posts`
WHERE
`tags` LIKE '%gda%'
OR `tags` LIKE '%contests%'
OR `tags` LIKE '%merch%'
AND `newsID` != '2134'
AND `status` > '1'
ORDER BY `postDate` DESC LIMIT 5
이 예에서는 'status'가 0으로 설정되어 있어도 여전히 항목을 가져옵니다. 내가 뭘 잘못하고 있습니까?
해결 방법
문제는 OR
/ AND
조건의 우선 순위에 있습니다. AND
는 OR
보다 우선 순위가 높기 때문에 먼저 AND
(tags-merch, newsID-2134 및 status- 1) 그런 다음 tags-gda 및 tags-contests를 모두 평가합니다.
대괄호를 추가하십시오.
SELECT *
FROM `posts`
WHERE (`tags` LIKE '%gda%'
OR `tags` LIKE '%contests%'
OR `tags` LIKE '%merch%')
AND `newsID` != '2134'
AND `status` > '1'
ORDER BY `postDate` DESC
LIMIT 5
참조 페이지 https://stackoverflow.com/questions/4733312
반응형
'MySql' 카테고리의 다른 글
MySQL 데이터베이스의 모든 테이블을 삭제하는 방법은 무엇입니까? (0) | 2020.10.21 |
---|---|
MySQL Windows 7의 MySQL 5에서 쿼리 로그 활성화 (0) | 2020.10.21 |
MySQL How to check for NULL in MySqlDataReader by the column's name? (0) | 2020.10.21 |
MySQL 원격 데이터베이스에서 localhost outfile로 mysql 덤프 (0) | 2020.10.21 |
MySQL List of non-empty tables in MySQL database (0) | 2020.10.21 |
댓글