문제

MySQL 에서이 작업을 수행하려고합니다.

업데이트 테이블 세트 값 = 값 -1 여기서 blah blah

값이 0이고 실행 값이 4294967295로 설정됩니다. 이것은 서명되지 않은 정수이기 때문에 최대 값으로 반복되기 때문입니다.

대신 0에 머물게하려면 어떻게해야합니까? SQL에서 순전히 할 수 있습니까?

도움이 되었습니까?

해결책

`AND value > 0`

다른 팁

SET value = IF(value=0,0,value-1)

where 절을 사용하여 값을 값> 0이라고 말하십시오

일요일 밤 SQL도 항상 나를 아프게합니다. :-)

SQL 문자열에 추가하십시오 AND value > 0

두 번째 쿼리 또는 IF 진술을 실행하여 최대로 설정되어 있는지 확인하고 0으로 다시 설정할 수 있습니다. 그러나 이것은 어리석은 일입니다 ...

항목을 확인하는 빠른 기능을 작성하십시오. 이미 0 인 경우 업데이트 쿼리를 수행하지 않습니다.

(if value >= 0, do not perform xy)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top