当前事务被中止,命令被忽略直到事务块结束--PostgreSQL

时间:2015-01-13 15:43:58

标签: php postgresql unit-testing transactions

ERROR: current transaction is aborted, commands ignored until end of transaction block 

此错误的根本原因是什么?

我在Table.php中有insert()和insertMany()函数,我正在为两者编写php单元测试用例。

insert()函数在内部调用insertMany()。不同之处在于insert()用于接受单个数组,insertMany()用于多个数组。我开始事务,做插入操作并提交,如果结果是好的,我做回滚。

PHPUnit无法测试insert()& insertMany()函数在一起。如果两个测试函数都被执行,它会给出以下错误消息:

ERROR: current transaction is aborted, commands ignored until end of transaction block 

但是,如果我评论其中一个测试函数,它可以正常工作。此外,当我评论交易命令如BEGIN,COMMIT&时,它不会抛出任何错误。 ROLLBACK。

我尝试过搜索此错误,但我无法弄明白。

0 个答案:

没有答案