Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie sollten Unix-Zeitstempel in int-Spalten gespeichert werden?

Standard-UNIX-Zeitstempel sind eine vorzeichenbehaftete 32-Bit-Ganzzahl, die in MySQL eine reguläre „int“-Spalte ist. Es gibt keine Möglichkeit, 9.999.999.999 zu speichern, da dies weit außerhalb des Darstellungsbereichs liegt - der höchste Wert, den ein 32-Bit-Int erreichen kann, ist 4.294.967.295. Der höchste Wert von 32 Bit mit Vorzeichen ist 2.147.483.647.

Wenn/wenn UNIX-Zeitstempel in einen 64-Bit-Datentyp gehen, müssen Sie ein MySQL-„bigint“ verwenden, um sie zu speichern.

Wie bei int(10) , der (10) Teil dient lediglich zu Anzeigezwecken. MySQL verwendet intern immer noch volle 32 Bit, um die Zahl zu speichern, zeigt aber nur 10 an, wenn Sie eine Auswahl in der Tabelle machen.