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