-
TIMESTAMP jest przechowywany w zastrzeżonej metodzie MySQL (chociaż jest to po prostu ciąg składający się z roku, miesiąca, dnia, godziny, minut i sekund), a dodatkowo pole typu TIMESTAMP jest automatycznie aktualizowane za każdym razem, gdy rekord jest wstawiany lub zmieniany i nie ma wyraźnego podana jest wartość pola:
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 to standardowy typ danych dla dat i godzin, który działa w połączeniu z funkcjami daty i czasu w MySQL. Prawdopodobnie wykorzystałbym to w praktyce
- Przechowywanie dat w formacie INTEGER nie jest zalecane, ponieważ otwierasz prawdziwą puszkę robaków z powodu interesujących problemów, takich jak strefy czasowe, lata przestępne itp. to pole.