Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przerwa w transakcji
Forum PHP.pl > Forum > Bazy danych > MySQL
Black-Berry
Zastanawialiście się kiedyś nad takim problemem? Mam 10 zapytań do bazy które muszą się wykonać aby baza była spójna. Co jeśli braknie prądu w momencie wykonania się na przykład piątego? Jak się można przed tym obronić ?
kwiateusz
j.w. i wtedy bez commita przy wstaniu bazy zmiany zostana cofniete
Black-Berry
Brzmi jak sporo pracy:) Słyszał ktoś może o jakichś gotowych rozwiązaniach w przypadku php i mysql ? Moze nie gtowe biblioteki ale opis jak to wdrozyć ?
kwiateusz
yy no komenda begin w mysql do zaczecia i commit na zatwierdzenie lub rollback na cofniecie? (tabele musza byc innodb)

np http://pl.php.net/manual/pl/pdo.begintransaction.php
Black-Berry
nie uzywam PDO niestety :/ Ale dobrze rozumiem? Mogę na początku działania mojego skryptu ustawić jakiś znacznik początku wykonywania zapytań i na końcu skryptu drugi znacznik i w jakiś magiczny sposób anulowac wszystkie operacje na bazie jesli znacznik końca nie został osiągnięty questionmark.gif A co jesli w polowie braknie prądu?
kwiateusz
use google young padawan to naprawde nie boli

http://dev.mysql.com/doc/refman/5.0/en/commit.html

do edita: patrz moj 1 post...
Black-Berry
samą ideę już rozumiem. Nie wiem tylko co jeśli serwer padnie. Czy jesli nie sostanie podana do mysql'a komenda commit to zmiany poprostu przepadną ?

@.@ teraz widzę

Cytat
j.w. i wtedy bez commita przy wstaniu bazy zmiany zostana cofniete

Chyba już wiem wszystko. Dzięki za pomoc smile.gif
kwiateusz
tak serwer wstaje po padnieciu, zapewne ma gdzies pliki o rozpoczetych transakcjach (tak jest w przypadku svna) i je cofa
dr_bonzo
Gdzies tam w manualu jest napisane ze jak zerwiesz polaczenie bez commita == rollback.
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.