Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przerwa w transakcji
Black-Berry
post
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ć ?


--------------------
Go to the top of the page
+Quote Post
mrok
post
Post #2





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

Ostrzeżenie: (0%)
-----


http://pl.wikipedia.org/wiki/Transakcja_(informatyka)


--------------------
Go to the top of the page
+Quote Post
kwiateusz
post
Post #3


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




j.w. i wtedy bez commita przy wstaniu bazy zmiany zostana cofniete
Go to the top of the page
+Quote Post
Black-Berry
post
Post #4





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ć ?


--------------------
Go to the top of the page
+Quote Post
kwiateusz
post
Post #5


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




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
Go to the top of the page
+Quote Post
Black-Berry
post
Post #6





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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?

Ten post edytował Black-Berry 25.08.2008, 22:46:20


--------------------
Go to the top of the page
+Quote Post
kwiateusz
post
Post #7


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




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...
Go to the top of the page
+Quote Post
Black-Berry
post
Post #8





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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

Ten post edytował Black-Berry 25.08.2008, 22:52:06


--------------------
Go to the top of the page
+Quote Post
kwiateusz
post
Post #9


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




tak serwer wstaje po padnieciu, zapewne ma gdzies pliki o rozpoczetych transakcjach (tak jest w przypadku svna) i je cofa
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Gdzies tam w manualu jest napisane ze jak zerwiesz polaczenie bez commita == rollback.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:09