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

¿Establecer una columna como marca de tiempo en el banco de trabajo MySql?

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á).