Mysql
 sql >> Database >  >> RDS >> Mysql

Cosa fare quando hai bisogno di numeri interi più grandi di 20 cifre su mysql?

I numeri interi grandi non sono in realtà limitati a 20 cifre, sono limitati ai numeri che possono essere espressi in 64 bit (ad esempio, il numero 99,999,999,999,999,999,999 non è un numero intero grande valido nonostante sia lungo 20 cifre).

Il motivo per cui hai questa limitazione è che i numeri interi in formato nativo possono essere manipolati in modo relativamente veloce dall'hardware sottostante mentre le versioni testuali di un numero (tendono a) devono essere elaborate una cifra alla volta.

Se desideri un numero maggiore del numero intero senza segno a 64 bit più grande 18,446,744,073,709,551,615 quindi dovrai salvarlo come varchar (o altro campo testuale) e spero di non aver bisogno di fare molte manipolazioni matematiche su di esso.

In alternativa, puoi esaminare numeri in virgola mobile che hanno un intervallo più ampio ma meno precisione, o numeri decimali che dovrebbero essere in grado di darti 65 cifre per un valore intero, con decimal(65,0) come tipo di colonna.