sql >> Databasteknik >  >> RDS >> Mysql

Hur ska unix-tidsstämplar lagras i int-kolumner?

Standard UNIX-tidsstämplar är ett signerat 32-bitars heltal, som i MySQL är en vanlig "int"-kolumn. Det finns inget sätt att lagra 9 999 999 999, eftersom det är långt utanför representationsintervallet - det högsta en 32-bitars int av något slag kan nå är 4 294 967 295. Det högsta som en signerad 32bit går in är 2 147 483 647.

Om/när UNIX-tidsstämplar går till en 64-bitars datatyp, måste du använda en MySQL "bigint" för att lagra dem.

När det gäller int(10) , (10) delen är endast för visningsändamål. MySQL kommer fortfarande att använda hela 32bitar internt för att lagra numret, men visar bara 10 när du gör ett val på bordet.




  1. Jämför exekveringsplaner i SQL Server

  2. Visa rader från MySQL där en datetime ligger inom den närmaste timmen

  3. MySQL felaktigt strängvärde fel vid spara unicode sträng i Django

  4. Köra ett .sql-skript med MySQL med JDBC