Mysql
 sql >> Database >  >> RDS >> Mysql

Impostazione di una colonna come timestamp in MySql workbench?

MODIFICA

A partire da MySQL 5.6.4, tipo di dati TIMESTAMP(n) specifica n (da 0 a 6) cifre decimali di precisione per i secondi frazionari.

Prima di MySQL 5.6, MySQL non supportava la frazione di secondo archiviata come parte di un TIMESTAMP tipo di dati.

Riferimento:https://dev.mysql.com/doc /refman/5.6/en/fractional-seconds.html

Non è necessario specificare un modificatore di lunghezza su un TIMESTAMP . Possiamo semplicemente specificare TIMESTAMP da solo.

Ma tieni presente che il primo TIMESTAMP la colonna definita nella tabella è soggetta all'inizializzazione e all'aggiornamento automatici. Ad esempio:

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
) 

Ciò che va in parentesi dopo un tipo di dati dipende dal tipo di dati, ma per alcuni tipi di dati è un modificatore di lunghezza.

Per alcuni tipi di dati, il modificatore di lunghezza influisce sulla lunghezza massima dei valori che possono essere archiviati. Ad esempio, VARCHAR(20) consente di memorizzare fino a 20 caratteri. E DECIMAL(10,6) consente valori numerici con quattro cifre prima del punto decimale e sei dopo e un intervallo effettivo compreso tra -9999,999999 e 9999,999999.

Per altri tipi, il modificatore di lunghezza non influisce sull'intervallo di valori che possono essere archiviati. Ad esempio, INT(4) e INT(10) sono entrambi interi ed entrambi possono memorizzare l'intero intervallo di valori consentito per il tipo di dati intero.

Quello che fa quel modificatore di lunghezza in quel caso è solo informativo. Specifica essenzialmente una larghezza di visualizzazione consigliata. Un client può utilizzarlo per determinare quanto spazio riservare su una riga per visualizzare i valori dalla colonna. Un cliente non deve farlo, ma queste informazioni sono disponibili.

MODIFICA

Un modificatore di lunghezza non è più accettato per il TIMESTAMP tipo di dati. (Se stai eseguendo una versione molto vecchia di MySQL ed è accettata, verrà ignorata.)