-
TIMESTAMP je uložen v proprietární metodě MySQL (ačkoli je to v podstatě pouze řetězec skládající se z roku, měsíce, dne, hodiny, minut a sekund) a navíc pole typu TIMESTAMP se automaticky aktualizuje při každém vložení nebo změně záznamu, a to bez explicitního je zadána hodnota pole:
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 je standardní datový typ pro data a časy, který funguje ve spojení s funkcemi data a času v MySQL. Asi bych to použil v praxi
- Ukládání dat ve formátu INTEGER se nedoporučuje, protože otevíráte skutečnou plechovku červů kvůli zajímavým problémům, jako jsou časová pásma, přestupné roky a podobně - alespoň pokud máte v úmyslu dotazovat se na databázi na základě konkrétních dat uložených v toto pole.