Mam trudności z ręcznym wykonaniem transakcji, co udokumentowano w DBD :: Pg, lub po prostu nie rozumiem wspomnianej dokumentacji.Ręczne zarządzanie transakcjami w DBD :: Pg
Rozumiem, że jeśli chcę ręcznie zarządzać transakcjami, powinienem wyłączyć automatyczne zatwierdzanie.
$dbh->{AutoCommit} = 0;
$dbh->begin_work;
Ale kiedy to zrobić, mam ciągłe błędy
DBD::Pg::db begin_work failed: Already in a transaction
Aby to dostać się do pracy, muszę włączyć AUTOCOMMIT pierwszy.
$dbh->{AutoCommit} = 1;
$dbh->begin_work;
Ale to nie wydaje się zgadzać z żadną dokumentacją.
Po prostu nie rozumiem tego?
To wszystko wydaje się dość dziwne. Czy możesz pokazać kompletny przypadek testowy i podać wersje DBI i DBD :: Pg? –