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

Problema con el almacenamiento de grandes números en mysql DB

Aparentemente estás usando PHP para generar esa ID.

Dado que no mencionó qué está sucediendo exactamente, solo puedo asumir ciertas razones para el diseño de su base de datos.

En primer lugar, podría almacenar ese número como bigint y no varchar . Es un número entero lo que está guardando, no veo ninguna razón por la que usaría varchar y desperdiciaría inherentemente más espacio del necesario.bigint utiliza 8 bytes para almacenar un número. Eso significa que cada número con más de 8 dígitos almacenados en el campo varchar usaría más espacio que un bigint campo que puede almacenar números hasta 2^64.

En segundo lugar, asegúrese de no utilizar ningún formato de número antes de enviar el resultado de su operación de cálculo a la base de datos. Copié/pegué el número entero que publicaste (10000000754987) y php no lo convierte automáticamente a notación científica, así que supongo que tienes algo más en segundo plano con esa generación de números:apágalo si es posible y almacena el número en el tipo de campo apropiado (bigint). También sería útil si publicara información adicional sobre su aplicación y lo que hace, porque el error no siempre está donde la gente piensa que está.