-
TIMESTAMP se almacena en un método propietario de MySQL (aunque básicamente es solo una cadena que consta de año, mes, día, hora, minutos y segundos) y, además, un campo de tipo TIMESTAMP se actualiza automáticamente cada vez que se inserta o cambia el registro y no se especifica explícitamente. se da el valor del campo:
mysql> create table timestamp_test( id integer not null auto_increment primary key, val varchar(100) not null default '', ts timestamp not null); Query OK, 0 rows affected (0.00 sec) mysql> insert into timestamp_test (val) values ('foobar'); Query OK, 1 row affected (0.00 sec) mysql> select * from timestamp_test; +----+--------+----------------+ | id | val | ts | +----+--------+----------------+ | 1 | foobar | 20090122174108 | +----+--------+----------------+ 1 row in set (0.00 sec) mysql> update timestamp_test set val = 'foo bar' where id = 1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from timestamp_test; +----+---------+----------------+ | id | val | ts | +----+---------+----------------+ | 1 | foo bar | 20090122174123 | +----+---------+----------------+ 1 row in set (0.00 sec) mysql>
-
DATETIME es el tipo de datos estándar para fechas y horas que funciona junto con las funciones de fecha y hora en MySQL. Probablemente usaría esto en la práctica
- No se recomienda almacenar fechas en formato INTEGER, ya que está abriendo una verdadera lata de gusanos debido a problemas interesantes como zonas horarias, años bisiestos y similares, al menos si tiene la intención de consultar la base de datos en función de fechas específicas almacenadas en ese campo.