Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O que fazer quando você precisa de inteiros maiores que 20 dígitos no mysql?


Os números inteiros grandes não estão limitados a 20 dígitos, eles estão limitados aos números que podem ser expressos em 64 bits (por exemplo, o número 99,999,999,999,999,999,999 não é um grande inteiro válido apesar de ter 20 dígitos).

A razão pela qual você tem essa limitação é que os inteiros de formato nativo podem ser manipulados relativamente rápido pelo hardware subjacente, enquanto as versões textuais de um número (tendem a) precisam ser processadas um dígito por vez.

Se você quiser um número maior que o maior inteiro sem sinal de 64 bits 18,446,744,073,709,551,615 então você precisará armazená-lo como um varchar (ou outro campo textual) e espero que você não precise fazer muita manipulação matemática nele.

Alternativamente, você pode olhar para números de ponto flutuante que têm um intervalo maior, mas menos precisão, ou números decimais que devem ser capazes de fornecer 65 dígitos para um valor integral, com decimal(65,0) como o tipo de coluna.