Automatyczna aktualizacja danych mysql

Witam

Jak powinien wyglądać kod aktualizującu dane w mysql włączany przez cron??

Chodzi mi o to że np jest 50 userów i każdy ma inną wartość w tabeli godziny i chce co godz automatycznie zmieniać ale nie wiem jak to zrobić optymalnie.

Zakładam że serwer jest Linuxowy i ma PHP.

W php piszesz skrypt do update np. /var/www/update.php (/usr/bin/php-cgi to ścieżka do interpretera)

Serwer jest na linuxie.

Ale jak 1 zapytaniem ogarnąć wszystkich userów?? każdy ma inną wartość więc kod musi pobrać ich wartość zmienic i zapisać?? w pętli?? Tego nie rozumiem.

("UPDATE uzytkownicy SET data=NOW() WHERE  _____jakieś_ograniczenia____");[/code]



A co chcesz dokładnie zaktualizować i na co?

Ale mi nie chodzi o to zeby zapisać co godzine aktualną date tylko żeby co 1 godz zwiększyć 1 daną u każdego usera.

Np user Jan ma w tabeli godz wartość “75” a user Karol ma wartość 93 i chce zeby co godzine wykonywał się skrypt który będzie zwiększał tą wartość o 1.

I tu pytanie jak ma wygladać skrypt?? Mam pobrać godz wszystkich userów i zwiększyć o 1 w pętli?? to jak bedzie dużo userów to skrypt będzie trwał strasznie długo.

Chodzi o to że każdy user ma inną wartość więc skrypt musi pobrać wartość każdego usera i zwiększyć ją o 1 i zapisać ale jak bedzie dużo userów to zanim pobierze wszystkich wartosci ,zwiększy i zapisze to będzie długo trwało, tak mi się wydaje. Jak to zrobić??

Mam nadzieję ze rozumiesz.

Pracowałeś kiedyś na bazach danych?

("UPDATE uzytkownicy SET godz=godz+1 WHERE 1"); // wszyscymysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE id IN (1,43,55,66,77,22)"); // po idmysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE jakas_data_i_godzina BETWEEN '2013-02-02 00:00:00' AND 2013-02-03 00:00:00"); // ograniczenia dot. jakies daty[/code]
mysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE 1");

To zaktualizuje wartość każdego usera ale każdemu inną??

A jeśli chce dać limit żeby zwiększało tylko do jakiejś liczby tylko w tym problem ze 1 user ma max 1000 a inny np 600 to jak to zrobić??

Kożystałem tylko z zapytań wyświetlających dane na stronie i zapisujące nowe z takiego czegoś nigdy.

mysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE godz) 

… gdzie godz to aktualny licznik godzin, a maksymalna_godz pole w tabeli uzytkownicy z limitem godzin.

Dobra wielkie dzięki za pomoc.