MySQL almacena el tipo de cantidad. ¿Qué tipo de datos es más confiable? ¿Qué tipo de datos se utiliza para los datos empresariales generales?
Para tokens como monedas de juegos, generalmente es factible almacenarlos como tipo int. El problema es que está fuera de los límites y la longitud del tipo int es de 11 bits.
Al almacenar cantidades relacionadas con RMB, solo puede almacenar RMB con una longitud de 9. Es decir, solo puede almacenar un máximo de 999999999, que es menos de mil millones si el negocio crece. rápidamente, te dejará peligros ocultos.
Decimal: Decimal es un tipo de datos especialmente diseñado para problemas relacionados con finanzas.
DECIMAL se introdujo desde MySQL5.1 y la sintaxis de declaración de columnas es DECIMAL(M, D). En MySQL5.1, el rango de valores de los parámetros es el siguiente: M es el número máximo de números (precisión). Su rango es de 1 a 65 (en versiones anteriores de MySQL, el rango permitido es de 1 a 254) y el valor predeterminado de M es 10.
D es el número de dígitos a la derecha del punto decimal (escala). Su rango es 0~30, pero no debe exceder M. Nota: float ocupa 4 bytes, double ocupa 8 bytes y decimail (M, D) ocupa M 2 bytes.
Por ejemplo, el valor máximo de DECIMAL (5, 2) es 9999,99, porque hay 7 bytes disponibles. Capacidad para abordar cuestiones de rango y precisión de datos.
Información ampliada
Uso DECIMAL del tipo de datos MySQL:
El tipo de datos MySQL?DECIMAL se utiliza para almacenar valores precisos en la base de datos. A menudo utilizamos el tipo de datos DECIMAL para columnas que conservan una precisión exacta, como los datos monetarios en los sistemas contables.
Para definir una columna con tipo de datos DECIMAL, use la siguiente sintaxis: nombre_columnaDECIMAL(P, D);
En la sintaxis anterior:
P es Representa la precisión del número de dígitos significativos. El rango P es 1?65.
D representa el número de dígitos después del punto decimal. El rango de ?D es 0~30. MySQL requiere que D sea menor o igual a (lt;=)P.
DECIMAL(P, D) significa que la columna puede almacenar P dígitos de D decimales. El rango real de una columna decimal depende de la precisión y la escala.
Al igual que el tipo de datos INT, el tipo DECIMAL también tiene atributos UNSIGNED y ZEROFILL. Si se utiliza el atributo UNSIGNED, no se aceptarán valores negativos para las columnas DECIMALUNSIGNED.
Si se utiliza ZEROFILL, MySQL rellenará el valor de visualización a 0 para mostrar el ancho especificado por la definición de la columna. Además, si usamos ZEROFILL en una columna DECIMAL, MySQL agregará automáticamente el atributo UNSIGNED a la columna.