왜 누군가가 쿼리에서`1 = 1`을 넣을까요? 1 =

나는 where 절의 첫 번째 문장이있는 데이터베이스에서 오늘의 견해를 보았습니다 where 1 = 1. 모든 레코드에 대해 이것이 사실이 아닙니까? 레코드를 필터링하지 않는 경우 누군가 이것을 작성하는 이유는 무엇입니까?



답변

일부 동적 쿼리 빌더에는이 조건이 포함되어 있으므로 “확인” AND을 수행하지 않고도 “실제”조건을 추가 할 수 있습니다 if (first condition) 'WHERE' else 'AND'.


답변

프로그램에 유사한 쿼리 를 생성하는 많은 SQL 문 작성 지점 이있는 경우이 트릭으로 검사 대상을 표시 할 수 있습니다. 문장이 계산에 관한 것이라면 아래 코드를 사용 42하여 SQL 로그에서 grep 할 수 있습니다 .

select count(42) from table


답변

항상 참인 상황을 제공하므로 결과에 영향을 미치지 않지만 WHERE 절에 하나의 항목이 이미 있다는 것을 알고 있습니다.


답변