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

Come dovrebbero essere archiviati i timestamp Unix nelle colonne int?

I timestamp UNIX standard sono un intero a 32 bit con segno, che in MySQL è una normale colonna "int". Non è possibile memorizzare 9.999.999.999, poiché è molto al di fuori dell'intervallo di rappresentazione:il massimo che può raggiungere un int a 32 bit di qualsiasi tipo è 4.294.967.295. Il massimo di 32 bit con segno in entrata è 2.147.483.647.

Se/quando i timestamp UNIX vanno a un tipo di dati a 64 bit, dovrai utilizzare un "bigint" MySQL per archiviarli.

Per quanto riguarda int(10) , il (10) parte è solo a scopo di visualizzazione. MySQL utilizzerà internamente 32 bit completi per memorizzare il numero, ma visualizzerà solo 10 ogni volta che selezioni sulla tabella.