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