MySQL - Transakcje Drukuj Email
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Berl   
niedziela, 06 marca 2011 14:39

Transakcją nazywamy zbiór operacji, przeprowadzonych na bazie MySQL. Transakcja ma to do siebie, że przy niepowodzeniu jednej operacji programista może cofnąć wszystkie operacje od rozpoczęcia transakcji.

Należy zaznaczyć, że transakcje w MySQL są obsługiwane dla mechanizmu składowania InnoDB. W popularnym MyISAM transakcje niestety nie są obsługiwane.

Aby rozpocząć transakcję, wydajemy polecenie :

START TRANSACTION

Następnie możemy zapisać stan transakcji. Nie jest to koniecznie, gdy wszystkie operacje wykonywane w transakcji muszą się udać, ale przydatne, jeśli tylko część operacji musi zakończyć się powodzeniem, a transakcję będziemy chcieli cofnąć do pewnego punktu. Zapisanie stanu transakcji realizujemy za pomocą instrukcji :

SAVEPOINT NazwaPunktu

Następnie przeprowadzamy operacje typu INSERT, UPDATE lub DELETE. Należy zaznaczyć, że instrukcje te są wykonywane, a co za tym idzie, w razie ich niepowodzenia otrzymujemy normalne komunikaty błędów, ale rekordy w bazie nie są zmieniane.

W razie powodzenia wszystkich operacji w transakcji, możemy potwierdzić transakcję. Wykonuje się to za pomocą instrukcji :

COMMIT

Gdy jednak któraś z operacji się nie powiedzie, możemy cofnąć całą transakcję za pomocą instrukcji:

ROLLBACK

A gdy chcemy cofnąć transakcję tylko do stanu, który został zapisany wcześniej, to wydajemy polecenie :

ROLLBACK TO NazwaPunktu
 

Statystyka

Użytkowników : 41
Artykułów : 76
Odsłon : 92466

Gościmy

Naszą witrynę przegląda teraz 2 gości 

Chmura tagów

delphi MySQL dziesiętny WHERE SendMessage Delphi rot-13 cezara binarny system forma WM_SYSCOMMAND ReleaseCapture SET windows szyfrowanie zamiana liczb FROM edytor zmienne