Tôi gặp khó khăn khi thực hiện các giao dịch thủ công để làm việc như được ghi trong DBD :: Pg, hoặc tôi chỉ đơn giản là hiểu nhầm tài liệu.Quản lý giao dịch thủ công trong DBD :: Pg
Hiểu biết của tôi là nếu tôi muốn quản lý giao dịch theo cách thủ công, tôi nên tắt Tự động cộng tác.
$dbh->{AutoCommit} = 0;
$dbh->begin_work;
Nhưng khi tôi làm điều này, tôi nhận được lỗi liên tục
DBD::Pg::db begin_work failed: Already in a transaction
Để có được điều này để làm việc, tôi cần phải bật Autocommit đầu tiên.
$dbh->{AutoCommit} = 1;
$dbh->begin_work;
Nhưng điều đó dường như không đồng ý với bất kỳ tài liệu nào.
Tôi chỉ đơn giản là hiểu nhầm nó?
Điều đó có vẻ hơi lạ. Bạn có thể hiển thị một trường hợp thử nghiệm hoàn chỉnh và cung cấp cho các phiên bản DBI và DBD :: Pg của bạn? –