我很难让手动事务按照 DBD::Pg 中的记录工作,或者我只是误解了上述文档。
我的理解是,如果我想手动管理事务,我应该关闭 AutoCommit。
$dbh->{AutoCommit} = 0;
$dbh->begin_work;
但是当我这样做时,我会不断出错
DBD::Pg::db begin_work failed: Already in a transaction
为了让它工作,我需要先打开 AutoCommit。
$dbh->{AutoCommit} = 1;
$dbh->begin_work;
但这似乎与任何文档都不一致。
我只是误解了吗?