El argumento a entero tipos en MySQL no tiene efecto sobre el almacenamiento de datos o la gama de valores admitidos por cada tipo de datos.
El argumento sólo se aplica para mostrar el ancho, el cual puede ser utilizado por aplicaciones como menciona Jonathan Fingland. También aparece cuando se utiliza en combinación con la opción ZEROFILL
:
CREATE TABLE foo (
i INT(3) ZEROFILL,
j INT(6) ZEROFILL,
k INT(11) ZEROFILL
);
INSERT INTO foo (i, j, k) VALUES (123, 456, 789);
SELECT * FROM foo;
+------+--------+-------------+
| i | j | k |
+------+--------+-------------+
| 123 | 000456 | 00000000789 |
+------+--------+-------------+
Vea cómo ZEROFILL
se asegura de que los datos son con relleno de ceros a por lo menos el número de dígitos igual al argumento de tipo entero.
Sin ZEROFILL
, los datos son espaciados, pero como los espacios a menudo se recortan de todos modos, es más difícil ver la diferencia.
¿Qué efecto tiene en su código PHP? Ninguna. Si necesita generar datos en columna, o valores de espacio libre o almohadilla cero, es más flexible usar sprintf()
,
Entonces, ¿qué debo poner cuando agregue BIGINT(), nada no es una opción, ¿verdad? Elija un número al azar? 42? – Citizen
Ni siquiera necesita el paréntesis; usted puede decir 'BIGINT'. –
¡Una Internet gratis para usted, señor! – Citizen