MySQL의 정확한 값 산술은 피연산자의 범위에 따라 오버플로가 발생하기 때문에 수치 표현식 평가 중에 발생하는 오버플로를 처리할 수 있습니다. 산술 표현식에 사용된 값을 다른 데이터 유형으로 변경하면 오버플로를 방지할 수 있습니다.
예를 들어, BIGINT 최대값을 DECIMAL로 변환하고 여기에 1을 추가하면 다음과 같이 오버플로를 처리할 수 있습니다. -
mysql> Select 9223372036854775807.0 + 1; +---------------------------+ | 9223372036854775807.0 + 1 | +---------------------------+ | 9223372036854775808.0 | +---------------------------+ 1 row in set (0.01 sec)