Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Znikające rekordy & automatyczny backup db
Forum PHP.pl > Forum > Bazy danych > MySQL
foxbond
Mam problem z bazą mysql na darmowym serwerze.

Czasami zdarza się, że znikają rekordy, tzn.:

Mam w tabeli 1 :
id|nazwa|owner_id| [...]
1|fiat|1
2|polonez|1
3|bmw|2

i w drugiej:
id|user|active_car_id| [...]
1|admin|1
2|ździchu|2

Czasami (nie wiem podczas jakiej operacji to się dzieje) znikają rekordy z tabeli 1.
Wpisuję "select * from t1 where id=1" i zapytanie zwraca mi 0 rekordów (!)
Flush, optimize, repair i inne takie operacje nic nie zmieniają, jednak po odpaleniu zapytania:
  1. UPDATE s1_users SET active_car_id =
  2. ( SELECT id FROM s1_users_cars AS c1
  3. WHERE c1.owner_id = s1_users.id
  4. AND NOT EXISTS
  5. ( SELECT * FROM s1_users_cars AS c2
  6. WHERE c2.owner_id = c1.owner_id AND c2.vmax > c1.vmax ) LIMIT 1
  7. )

(zapytanie ustawia jako aktywny samochód z największą prędkością dla danego usera)

Wszystko wraca do porządku, zapytanie ("select * from t1 where id=1") zwraca mi wybrany rekord.

Przyczyna może być po stronie serwera czy jednak mam go szukać u siebie??


I mam jeszcze jedno pytanie:
Istnieje jakaś klasa php która automatycznie (cron) zrobi mi backup wybranych tabel? (Chodzi mi, aby klasa zwracała mi dane w stylu "INSERT INTO x ([...]) VALUES ([...]), ([...]); )
Jeśli takiej nie ma to żeby chociaż miała opcję importu z formatu w jakim zapisze te dane.
Fifi209
Zależy od hostingu, w większości nie można. Musiałbyś mieć dostęp do crontaba.

Co do samej bazy może problem leży po stronie php?
foxbond
Co do crona to bym skorzystał z setcronjob.com, lub tak jak to robię aktualnie mam to w głównym pliku i sprawdzam czy minęło 10min od ostatniej akcji (jeśli minęło więcej np 20 to odpali to dwukrotnie (oczywiście tylko takie akcje jak np. dodawanie energii co 10min)), prosiłbym linka do jakieś klasy php (nie programu)

Może i jest po stronie php jednak w jaki sposób znikają te rekordy, nie są dostępne z pma (wiem, to też php) pojawiają się dopiero po odpaleniu wyższego zapytania.
Fifi209
Cytat(foxbond @ 27.03.2011, 22:26:13 ) *
prosiłbym linka do jakieś klasy php (nie programu)

Z tego co pamiętam to WordPress ma "cron'a w php" ;p
foxbond
Oj, źle się wyraziłem.
Chodziło mi o klasę do backupu bazy danych wink.gif
Fifi209
cron +
  1. SELECT * FROM TABLE INTO OUTFILE
foxbond
proste biggrin.gif

Jutro spróbuję coś skleić, dzięki za pomoc

Ma ktoś jakiś pomysł, dlaczego znikają rekordy?
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.