질문:
MySQL 변수를 어떻게 정의합니까? "NOT IN" 절에 사용할 값 목록으로, 여러 값을 효과적으로 제외합니다. 쿼리?
답변:
값 목록이 포함된 "NOT IN" 절을 구성할 때 전체 목록을 쿼리 내 단일 문자열로 사용하지 않는 것이 중요합니다. 절. MySQL은 이를 통합된 문자열로 컴파일하는 반면 "NOT IN" 절에는 개별 값이 필요합니다. 다음 예를 고려하십시오.
WHERE id_campo NOT IN (@idcamposexcluidos)
이것은 다음과 같이 컴파일됩니다.
WHERE id_campo NOT IN ('817,803,495')
그러나 올바른 구문은 다음과 같습니다.
WHERE id_campo NOT IN ('817', '803', '495')
이를 극복하기 위해 다음이 있습니다. 두 가지 일반적인 접근 방식:
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
FIND_IN_SET() 함수는 'id_campo' 열에 인덱스를 사용하는 경우 성능에 영향을 미칠 수 있습니다.
위 내용은 값 목록과 함께 MySQL의 'NOT IN' 절을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!