0
조건이 충족 될 경우에만 열을 업데이트하려고합니다. 그래서 열 "유형"에 대한, 나는 그것의 값을 "MongoDB를"을 변경하려면 현재 값이 "MongoDB를"이 아닌 경우에만 해당이 내가 사용하고 무엇을 :SQL : 조건이 충족되는 경우에만 필드 업데이트
는UPDATE Report
SET Type =
CASE
WHEN Type <> 'MongoDB' THEN 'MongoDB'
ELSE Type
END
WHERE Id = x
문제는 : 도 유형 인 경우 "MongoDB를"나는 여전히 내 SQL 결과에
(영향 1 행 (들))
를 참조하십시오. 이 연습의 요점은 필요가 없을 때 db 작업을 줄이는 것이 었습니다. 조건이 충족되지 않은 경우 레코드를 수정하는 이유는 무엇입니까?
감사합니다.
왜'WHERE' 절에'Type <> 'MondoDB''를 추가하지 않겠습니까? –
'CASE' 문은 영향을받는 레코드를 변경하지 않을 것입니다. 그들이 어떻게 영향을 받는지. 대신 WHERE 레코드가 속한 WHERE 절에서 레코드가 영향을받을 기준을 고수하십시오. – JNevill
@AnthonyForloney 나는 그것을 생각하지 않았다는 것을 믿을 수 없다. 감사! – 90abyss