
Logowanie
| MySQL - Transakcje |
|
|
| 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 : 41Artykułów : 76
Odsłon : 92466




