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

Problema con la memorizzazione di grandi numeri in mysql DB

Apparentemente stai usando PHP per generare quell'ID.

Dal momento che non hai menzionato cosa sta succedendo esattamente, posso solo presumere alcuni motivi per la progettazione del tuo database.

Prima di tutto, puoi memorizzare quel numero come bigint e non varchar . È un numero intero che stai salvando, non vedo alcun motivo per cui dovresti usare varchar e intrinsecamente sprecare più spazio del necessario.bigint utilizza 8 byte per memorizzare un numero. Ciò significa che ogni numero con più di 8 cifre memorizzate nel campo varchar utilizzerebbe più spazio di un bigint campo che può memorizzare numeri fino a 2^64.

In secondo luogo, assicurati di non utilizzare alcuna formattazione dei numeri prima di inviare il risultato dell'operazione di calcolo al db. Ho copiato/incollato l'intero che hai pubblicato (10000000754987) e php non lo converte automaticamente in notazione scientifica, quindi suppongo che tu abbia qualcos'altro in corso in background con quella generazione di numeri - spegnilo se possibile e memorizza il numero nel tipo di campo appropriato (bigint). Sarebbe anche utile se pubblicassi ulteriori informazioni sulla tua app e su cosa fa, perché l'errore non è sempre quello che pensano le persone.