我是 PostgreSQL 和 pqxx 的新手。我用 C++ 编写代码。我刚刚写了一个示例程序。一切都很好,但是当我执行我的程序时,我看到一个错误:
在事务仍处于活动状态时开始非事务。
这是代码: http: //pastebin.com/p8CJ6Eaz
如果有人知道如何使用这些事务对象,请向我解释。向所有人问候并感谢您的帮助。
我是 PostgreSQL 和 pqxx 的新手。我用 C++ 编写代码。我刚刚写了一个示例程序。一切都很好,但是当我执行我的程序时,我看到一个错误:
在事务仍处于活动状态时开始非事务。
这是代码: http: //pastebin.com/p8CJ6Eaz
如果有人知道如何使用这些事务对象,请向我解释。向所有人问候并感谢您的帮助。
消息Started nontransaction while transaction still active
实际上不是错误。pqxx
不是为处理嵌套事务而设计的,它一次只能处理一个事务。您可以在此处阅读详细信息;
pqxx 重用/重新激活工作事务
如果您在发出非事务 sql 命令之前提交事务,您的代码实际上可以正常工作,所以我会改变;
取消注释第 49 行的提交以完成事务;
W.commit();
并将第 69 行更改W.exec(sql);
为非事务性工作;
N.exec(sql);
希望有帮助。