문제
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)
제휴하지 않습니다 StackOverflow