-
TIMESTAMP се съхранява в собствен метод на MySQL (въпреки че в основата си е само низ, състоящ се от година, месец, ден, час, минути и секунди) и освен това поле от тип TIMESTAMP се актуализира автоматично всеки път, когато записът е вмъкнат или променен и без изрично дадена е стойност на полето:
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 е стандартният тип данни за дати и часове, който работи във връзка с функциите за дата и час в MySQL. Вероятно бих използвал това на практика
- Съхраняването на дати във формат INTEGER не се препоръчва, тъй като отваряте истинска кутия с червеи поради интересни проблеми като часови зони, високосни години и други подобни - поне ако възнамерявате да правите заявки в базата данни въз основа на конкретни дати, съхранени в това поле.