![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 18.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chce w jednej funkcji zrobić kilka insertów. Jak utworzyć transakcję, żeby w razie jakiegoś błędu w czasie wstawiania danych transakcja była odwoływana ? Mam 2 tabele do których wstawiam dane 1.Podmiot (id_podmiot, pesel, nip,nazwa), 2.Kontrola(id_kontrola, id_zakres, id_podmiot,data). Wstawiam pierwszym insertem dane do tabeli Podmiot(id_podmiot jest typu serial) ale przy błędzie w tej tabeli tracę jedno id_podmiot i nastepny id_podmiot jest +2.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Użyj ROLLBACK.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 18.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
A może jakiś przykładzik ? Jak sprawdzić czy wystąpił błąd w czasie wstawiania danych ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak w PostgreSQL, ale w MySQLu najprościej mówiąc mysql_query($sql) or mysql_query('ROLLBACK');.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:19 |