Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]jaki typ danych w mysql do przechowywania unixowego znacznika czasu
Forum PHP.pl > Forum > Przedszkole
piotrekkr
witam mam takie pytanko chcialbym przechowywac unixowy znacznik czasu w polu tabeli mysql i nie wiem jakiego typu to ma byc pole czu INT czy BIGINT i czy ma byc unsigned czy nie i czy ma jakas okreslona dlugosc. prosze o pomoc
mike
timestamp ma długośc 11-stu cyfr.
Więc możesz dać INT(11)

Ale po co, skoro lepiej skorzystać z typów stworzonych do dat: DATE, DATETIME, TIMESTAMP
piotrekkr
no tak ale chyba jak dobrze przeczytalem timestamp ma zakres od 1970 a ja bede mial date do pretworzenia od 1906 :/ wiec chyba lepiej bedzie to przechowywac w INT(11) a moze sie myle??

edit: sorki chyba zle przeczytalem w manualu bo unix timestamp tez jest od 1970 :/ no i teraz juz sam nie wiem jak to zrobic :/
mike
Ech, poczytaj dluzej niż 8 min.
Bo już nie wiesz co piszesz tongue.gif

Masz dwa wyjścia:
1. timestamp Unixowy. Proponuje pole INT(11). timestamp ma 11 cyfr (i jeszcze długo tyle będzie miał smile.gif ) Nie może to być UNASIGNED bo mogę Ci się trafić daty z przed 1970, wtedy timestamp jest ujemny;
2. Skorzystanie z typu dazy danych, czyli pole o typie: DATE, DATETIME lub TIMESTAMP (Uwaga: to nie jest ten sam timestamp co powyżej. Odsyłam do manuala MySQL).

Ja polecam rozwiązanie 2.
LBO
Cytat(mike_mech @ 15.08.2006, 00:36 ) *
Ja polecam rozwiązanie 2.


Dodam tylko, by ułatwić wybór, że wtedy mozna korzystać z wbudownych działaniach na datach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.