sql >> Base de Datos >  >> RDS >> Mysql

¿Qué hacer cuando necesita números enteros de más de 20 dígitos en mysql?

Los números enteros grandes en realidad no están limitados a 20 dígitos, están limitados a los números que se pueden expresar en 64 bits (por ejemplo, el número 99,999,999,999,999,999,999 no es un entero grande válido a pesar de tener 20 dígitos).

La razón por la que tiene esta limitación es que el hardware subyacente puede manipular los enteros de formato nativo con relativa rapidez, mientras que las versiones textuales de un número (tienden a) deben procesarse un dígito a la vez.

Si desea un número mayor que el entero sin signo de 64 bits más grande 18,446,744,073,709,551,615 entonces deberá almacenarlo como un varchar (u otro campo textual) y espero que no necesites hacer mucha manipulación matemática en él.

Alternativamente, puede buscar números de coma flotante que tienen un rango más grande pero menos precisión, o números decimales que deberían poder darle 65 dígitos para un valor integral, con decimal(65,0) como tipo de columna.