Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Aktualny czas podczas modyfikacji
Forum PHP.pl > Forum > Bazy danych > MySQL
El Wieczor
Jak skonstruować tabelę, żeby podczas zmiany wartości choćby jednek z trzech pól w wierszu automatycznie wstawiał mi czas w znaczniku Unixa do innego pola, czyli:

wiersz [time][data1][data2][data3][data4]

i powiedzmy UPDATE table SET data2 = 0 ma zmienić data2 i jednocześnie automatycznie wstawić w pole [time] czas tej zmiany tylko najlepiej jako znacznik Unixa.

Edit:
Albo... coś podobnego, ale chyba nawet bardziej by mi przypasowało.
A najlepiej jedno i drugie naraz.

Podczas odczytu wiersza, jest on przedtem przetwarzany, tzn. wartości jednych pól są nadpisywane i zależą od wartości innych pól w tym samym wierszu a pole [time] tak jak wyżej, czyli aktualny znacznik czasu Unixa.

Myślałem, że trigger to zrobi a się okazało, że SELECTA nie lubi sad.gif
kicaj
Nie wiem czy skumalem ale funkcja NOW() w MySQL, czyli moze `...data2 = NOW()...`
mysz
MySQL nie przechowuje (nie mówię o wnętrznościach) czasu w uniksowym znaczniku czasu. Pole typu TIMESTAMP ma swój format, dość oczywisty jak na niego spojrzysz. Do tego dołóż klauzulę ON UPDATE CURRENT_TIMESTAMP, i tutaj będzie śmigać.

Teraz jeśli chcesz odbierać tenże zapisany (uaktualniony) czas, to używaj funkcji UNIX_TIMESTAMP().
El Wieczor
  1. ALTER TABLE `tabela` CHANGE `data1` `data1` INT( 15 ) UNSIGNED ON UPDATE CURRENT_TIMESTAMP


#1294 - Invalid ON UPDATE clause for 'data1' column

Jak to napisać? W dokumentacji nic nie znalazłem.
mysz
Cytat(El Wieczor @ 20.05.2007, 19:31:12 ) *
  1. ALTER TABLE `tabela` CHANGE `data1` `data1` INT( 15 ) UNSIGNED ON UPDATE CURRENT_TIMESTAMP


#1294 - Invalid ON UPDATE clause for 'data1' column


A skąd żeś wpadł na pomysł że to ma być pole typu INT?

Cytat
Jak to napisać? W dokumentacji nic nie znalazłem.


A gdzie i jak szukałeś?
El Wieczor
Aj, tego INTa nie zauważyłem, bo miałem wcześniej czas przechowywany w znaczniku Unixa winksmiley.jpg
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.