Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Transakcje
Indeo
post
Post #1





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


Mm pytanie dotyczące obsługi transakcji w mysql. Do tej pory korzystałem z nich czasem w ramach pojedynczego wywołania skryptu php na zasadzie:
1. połącz z bazą
2. START TRANSACTION
3. seria selectów i update'ów
4. jak wszystko ok to COMMIT

a co jeśli chciałbym aby transakcja była podtrzymywana w czasie kilku wywołań skryptu php? czy jest to możliwe? Chodzi o to żeby po zakończeniu skryptu php połączenie nie było zrywane z nastepstwem ROLLBACK tylko aby kolejne wywołanie skryptu mogło nadal działać w ramach tej samej transakcji. Funkcja mysql_pconnect() ma niby podtrzymywać połączenie z bazą - jak dla mnie na razie działa identycznie jak mysql_connect(). Może trzeba coś skonfigurować? Oczywiscie tabele innodb.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MrMag
post
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 5
Dołączył: 24.02.2004

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


Mysle, ze odpowiedni poziom izolacji zapytan rozwiaze problem z jednoczesnym pobieraniem i updatowaniem przez rozne procesy. Gorzej jesli jakies dane maja byc wczytane do formularza i moga sobie wisiec przez x minut a nastepnie beda zatwierdzone. Tutaj chyba nie obejdzie sie bez zmiany statusu z jakims czasem rezerwacji rekordu tabeli na wylacznosc. To juz jednak jest logika biznesowa. Rozumiem teraz o co chodzilo wczesniej. Ja bym tego na transakcje nie zrzucal nawet jesli sie da. Kiedy mialby byc zrobiony commit? Do tego dane po edycji by byly... nieaktualne bo de facto niezacommitowane.

Ten post edytował MrMag 4.10.2011, 11:41:40
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.12.2025 - 12:59