Mysql
 sql >> Base de données >  >> RDS >> Mysql

Que faire lorsque vous avez besoin d'entiers supérieurs à 20 chiffres sur mysql ?

Les grands entiers ne sont pas limités à 20 chiffres, ils sont limités aux nombres qui peuvent être exprimés en 64 bits (par exemple, le nombre 99,999,999,999,999,999,999 n'est pas un grand entier valide malgré sa longueur de 20 chiffres).

La raison pour laquelle vous avez cette limitation est que les entiers au format natif peuvent être manipulés relativement rapidement par le matériel sous-jacent alors que les versions textuelles d'un nombre (tendent à) doivent être traitées un chiffre à la fois.

Si vous souhaitez un nombre supérieur au plus grand entier non signé 64 bits 18,446,744,073,709,551,615 alors vous devrez le stocker en tant que varchar (ou un autre champ textuel) et j'espère que vous n'aurez pas besoin de faire beaucoup de manipulations mathématiques dessus.

Alternativement, vous pouvez rechercher des nombres à virgule flottante qui ont une plage plus large mais moins de précision, ou des nombres décimaux qui devraient pouvoir vous donner 65 chiffres pour une valeur intégrale, avec decimal(65,0) comme type de colonne.