Tengo una base de datos mysql, y la estoy usando como un almacenamiento temporal de valores de captcha. Tiene una clave de identificación auto incrementada, con el campo int(11)
. ¿Qué sucede si este valor supera los 11 dígitos?campo mysql int que crece más de 11 dígitos
Respuesta
Un típico INT utiliza 4 bytes, por lo que puede almacenar los números:
firmado: -2147483648 to 2147483647
sin signo: 0 to 4294967295
Un BIGINT utiliza 8 bytes, por lo que puede almacenar los números:
Firmado: -9223372036854775808 to 9223372036854775808
sin signo: 0 to 18446744073709551615
int(11)
aceptará solo los primeros 11 dígitos. el resto de ellos será descartado. Puede modificar su tabla y cambiar su tipo de datos de identificación de int a bigint
.
Espero que esto ayude.
Este número (11
) no tiene absolutamente nada que ver con el rango de columna - [SIGNED] INTEGER
define un rango (-2147483648 - 2147483647
).
El número entre paréntesis se está utilizando solo cuando se combina con ZEROFILL
. Luego define la "longitud" del número mostrado, es decir. el valor 275552
se devolverá como cadena00000275552
.
Como han dicho otros, no obtendrá 11 dígitos. Cuando alcance el valor máximo, todos los valores que lo superen se tratarán como si fueran el valor máximo. En el caso de campos AUTO_INCREMENT, que hará que todas las inserciones futuras a fallar hasta que se cambie el tipo de columna a un BIGINT
:
ERROR 1062 (23000): Duplicate entry '4294967295' for key 1
Cuando llegue al valor máximo, todos los valores superiores a él, serán tratados como si ellos fueron el valor máximo. En el caso de los campos auto_increment, provocará que todas las inserciones futuras fallen hasta que cambie el tipo de columna a BIGINT:
- 1. 11+ dígitos no funciona
- 2. Mysql int (11) número fuera de rango
- 3. Tipo de datos MySQL INT (11) mientras que UNSIGNED INT (10)?
- 4. ¿PHP tiene un tipo de datos más grande que int?
- 5. Rellenar el comienzo de un campo mysql INT con ceros
- 6. mysql actualización incremento campo int que es nulo
- 7. tipos de datos mySQL: ¿por qué hay un número después de int: int (11)
- 8. Desaceleración de la velocidad de inserción a medida que la tabla crece en mysql
- 9. dividir el valor int en dígitos separados
- 10. NÚMERO: Mysql que convierte Enum a Int
- 11. Obtenga la cantidad de dígitos en un int
- 12. Índice de MySQL es más grande que los datos almacenados
- 13. ¿Qué función crece más rápido, exponencial o factorial?
- 14. BIGINT rendimiento de mysql en comparación con INT
- 15. Mysql middle int vs. int performance
- 16. Asegúrese de que la variable int tenga 2 dígitos de longitud, de lo contrario agregue 0 al frente para que tenga 2 dígitos
- 17. MySQL INT significa
- 18. MySQL: bigint Vs int
- 19. ¿Qué hacer cuando necesitas enteros de más de 20 dígitos en mysql?
- 20. conversión de Campo de Bits a int
- 21. moldeada de VARCHAR a INT - MySQL
- 22. SQL Server, donde el campo es int?
- 23. ¿Cómo se divide un int en sus dígitos?
- 24. ¿SQLite es realmente más rápido que MySQL?
- 25. MongoDB no es más rápido que MySQL?
- 26. MySQL: Manera simple de alternar un valor de un campo int
- 27. MySQL como otro campo
- 28. MySQL: Convertir INT a DATETIME
- 29. ¿Por qué se pueden insertar caracteres en un campo int de MySQL?
- 30. campo entero grande en modelos de Django