Ich habe es schwer, manuelle Transaktionen zu arbeiten, wie in DBD :: Pg dokumentiert, oder ich verstehe einfach die Dokumentation nicht.Manuelle Transaktionsverwaltung in DBD :: Pg
Mein Verständnis ist, dass wenn ich Transaktionen manuell verwalten möchte, sollte ich AutoCommit deaktivieren.
$dbh->{AutoCommit} = 0;
$dbh->begin_work;
Aber wenn ich das tue, ich kontinuierliche Fehler
DBD::Pg::db begin_work failed: Already in a transaction
Um dies zu erhalten, zu arbeiten, muss ich zuerst auf AutoCommit einzuschalten.
$dbh->{AutoCommit} = 1;
$dbh->begin_work;
Aber das scheint mit keiner der Dokumentation übereinzustimmen.
Bin ich es einfach missverstanden?
Das scheint alles ziemlich seltsam. Können Sie einen vollständigen Testfall zeigen und Ihre DBI- und DBD :: Pg-Versionen angeben? –