[MySQL] Tabela wyczyszczona - co jest?

0

Cześć, słuchajcie - mam dosyć nieciekawy problem - otóż pewna tabela w bazie mojego klienta (baza jest wykorzystywana przez CMS który mu napisałem) - o nazwie "kolory" jest sporadycznie czyszczona ze wszystkich rekordów. Problem jest o tyle duży, że nigdzie w kodzie nie mam żadnego zapytania SQL które mogło by to spowodować (same SELECTy, jedno DELETE z limitem 1 i warunkiem sprawdzającym unikalny identyfikator rekordu [więc odpada]). Co może być przyczyną tego samoistnego czyszczenia się co kilka miesięcy tej nieszczęsnej tabeli? Czy ktoś z Was spotkał się już z czymś takim?
W PHPMyAdmin nie ma żadnych ostrzeżeń odnośnie jakiś błędów, tabela nie została też nawet zablokowana. Dzieje się tak jedynie z tą jedną tabelą (oparta na InnoDB - z resztą tak jak inne).

0

Pokaż ten kawałek kodu gdzie wywołujesz zapytanie z instrukcją DELETE. To musi być raczej wina skryptu. Powinieneś zapisywać jakieś logi, gdzie między innymi będzie zapisywana ilość skasowanych rekordów instrukcją DELETE.

0
jagi napisał(a)

Pokaż ten kawałek kodu gdzie wywołujesz zapytanie z instrukcją DELETE. To musi być raczej wina skryptu. Powinieneś zapisywać jakieś logi, gdzie między innymi będzie zapisywana ilość skasowanych rekordów instrukcją DELETE.

Kurcze - no właśnie nie ma problemu z tą procedurą. Kiedy jej używam - usuwany jest jeden rekord - poprawnie. Nie ma w niej błędu:

function UsunKolor($id_koloru)
{
  global $baza_prefix, $uchwyt;
  $id_koloru = intval($id_koloru);
  
  $zapytanie = "DELETE FROM kolory
                      WHERE id_koloru=".$id_koloru." LIMIT 1";

  $rezultat = mysql_query($zapytanie);

  if ($rezultat)
  {
    return (mysql_affected_rows($uchwyt)==1);
  }else
  {
    return false;
  }
}

Nie wiem co z tą tabelą się dzieje. Bardzo dziwne rzeczy. Powyższa instrukcja jest jedyną usuwającą coś z tej tabeli i próżno w niej szukać jakiegoś błędu. Dodam, że id_koloru to klucz główny tej tabeli z wartością auto_increment.

0

a masz linki w aplikacji do usuwania tych kolorów (w stylu link)? Bo możesz mieć problem z brakiem autoryzacji i crawlery ci się tam pakują usuwając elementy (tylko jeden, ale odwiedzając całą listę linków czyszczą bazę)

0

Pokaż jeszcze wywołanie ten funkcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1