![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Utworzyłem w bazie kolumnę w tabeli:
,mimmo ,iż nie deklarowałem ,żadnego polecenia dotyczącej tej kolumny,automatycznie zapisała się data w formacie 2010-12-27 16:22:45,tymczasem jak czytałem na stronie że format ten powinien zapisać się: Cytat TIMESTAMP(12) RRMMDDGGMMSS czyli 10-12-27 16:22:45 a odczytany 101227162245.Poza tym dlaczego,mi to zapisało automatycznie tak jak autoincrement,przecież nie wysyłałem ,żadnego zapytania insert do data z poleceniem now().Może to poprzez wartość pola NOT NULL??
Ten post edytował Rid 27.12.2010, 16:48:46 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 5 Dołączył: 13.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź u źródła - w dokumentacji MySQL nie ma nic o możliwości zmiany formatu TIMESTAMP przy definicji tabeli:
http://dev.mysql.com/doc/refman/5.0/en/timestamp.html Jest natomiast informacja że w starszych wersjach działało to inaczej i przed wersją 4.1 faktycznie była możliwość podawania formatu: http://dev.mysql.com/doc/refman/4.1/en/tim...mp-pre-4-1.html Innymi słowy stronka którą podałeś ma jakieś info sprzed 10 lat ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
NOT NULL to swoją drogą...
![]() Gdy ja używałem tabel z polem TIMESTAMP aktualizował te pole przy KAŻDYM użyciu wiesza tej tabeli jeżeli tego nie chcesz to używaj DATETIME albo jeszcze inaczej używaj pola INT i zapisuj czas jako UNIX_TIMESTAMP() zawsze możesz to prze-konwertować w PHP do jakiego formatu chcesz. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje bardzo za zainteresowanie-użyłem time(); i zapis do varchar -właśnie chodziło mi o coś nieskonwertowanego.
Ten post edytował Rid 29.12.2010, 22:38:39 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Dlaczego nie użyjesz po prostu DATETIME? Po to ten typ danych został stworzony, by go używać. Zaglądając bezpośrednio do bazy danych od razu widzisz co to za data, a nie musisz kombinować z "odkodowaniem". Zawsze po stronie PHP możesz dowolnie przekształcić tą datę poprzez strtotime i date.
Jeśli jednak koniecznie chcesz zapisywać znacznik czasu to typem pola zrób INT, a nie VARCHAR. Będzie to zdecydowanie lepsze rozwiązanie (chociażby ze względu na możliwość wyszukiwania po zakresie czasowym). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:56 |