无法在Zend Framework中回滚事务

Bil*_*lly 11 mysql zend-framework transactions

我在Zend Framework中使用以下代码进行事务处理,但回滚函数不起作用(数据通过insertSome($ data)插入数据库).怎么了?

            $db->beginTransaction();
            try{
               $model->insertSome($data);
               $model->insertAll($data2); //this line cannot be run and the whole transaction should be rolled back.
               $db->commit();
            } catch (Exception $e) {
                $db->rollBack();
                echo $e->getMessage();
            }
Run Code Online (Sandbox Code Playgroud)

Bil*_*win 19

我们无法从StackOverflow上的"未答复"问题列表中获取此问题,除非至少有一个upvote的答案.所以我正在重复你在评论中讨论的解决方案.

@nos建议:

你的DB是否有机会MySQL使用MyISAM表?他们不支持交易.如果需要事务支持,则必须使用InnoDB表.

@Billy回应:

是的,我正在使用MyISAM表.我已经改为InnoDB表,它可以工作.谢谢.

(我已将此标记为社区维基回答,因此我不会从中获得任何积分.)