sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo se deben almacenar las marcas de tiempo de Unix en columnas int?

Las marcas de tiempo estándar de UNIX son un número entero de 32 bits con signo, que en MySQL es una columna "int" normal. No hay forma de que pueda almacenar 9,999,999,999, ya que está fuera del rango de representación:lo más alto que puede llegar un int de 32 bits de cualquier tipo es 4,294,967,295. El máximo de 32 bits firmado es 2 147 483 647.

Si/cuando las marcas de tiempo de UNIX van a un tipo de datos de 64 bits, tendrá que usar MySQL "bigint" para almacenarlas.

En cuanto a int(10) , el (10) parte es meramente para fines de visualización. MySQL seguirá usando 32 bits completos internamente para almacenar el número, pero solo mostrará 10 cada vez que haga una selección en la tabla.