![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() Ten post edytował El Wieczor 4.05.2007, 16:01:22 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy skumalem ale funkcja NOW() w MySQL, czyli moze `...data2 = NOW()...`
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 26.08.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
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(). -------------------- urzenia.net
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 26.08.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
#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ś? -------------------- urzenia.net
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Aj, tego INTa nie zauważyłem, bo miałem wcześniej czas przechowywany w znaczniku Unixa
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:12 |