EDITAR
A partir de MySQL 5.6.4, tipo de datos TIMESTAMP(n)
especifica n
(0 hasta 6) dígitos decimales de precisión para fracciones de segundo.
Antes de MySQL 5.6, MySQL no admitía fracciones de segundo almacenadas como parte de un TIMESTAMP
tipo de datos.
Referencia:https://dev.mysql.com/doc /refman/5.6/es/fraccion-de-segundos.html
No necesitamos especificar un modificador de longitud en un TIMESTAMP
. Solo podemos especificar TIMESTAMP
por sí mismo.
Pero tenga en cuenta que el primer TIMESTAMP
columna definida en la tabla está sujeta a inicialización y actualización automáticas. Por ejemplo:
create table foo (id int, ts timestamp, val varchar(2));
show create table foo;
CREATE TABLE `foo` (
`id` INT(11) DEFAULT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`val` VARCHAR(2) DEFAULT NULL
)
Lo que va entre paréntesis después de un tipo de datos depende de cuál sea el tipo de datos, pero para algunos tipos de datos, es un modificador de longitud.
Para algunos tipos de datos, el modificador de longitud afecta la longitud máxima de los valores que se pueden almacenar. Por ejemplo, VARCHAR(20)
permite almacenar hasta 20 caracteres. Y DECIMAL(10,6)
permite valores numéricos con cuatro dígitos antes del punto decimal y seis después, y un rango efectivo de -9999.999999 a 9999.999999.
Para otros tipos, el modificador de longitud no afecta el rango de valores que se pueden almacenar. Por ejemplo, INT(4)
y INT(10)
ambos son enteros, y ambos pueden almacenar el rango completo de valores permitidos para el tipo de datos entero.
Lo que hace ese modificador de longitud en ese caso es solo informativo. Esencialmente especifica un ancho de visualización recomendado. Un cliente puede usar eso para determinar cuánto espacio reservar en una fila para mostrar los valores de la columna. Un cliente no tiene que hacer eso, pero esa información está disponible.
EDITAR
Ya no se acepta un modificador de longitud para TIMESTAMP
tipo de datos. (Si está ejecutando una versión muy antigua de MySQL y se acepta, se ignorará).