我在 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();
}
除非至少有一个答案获得了赞成票,否则我们无法将这个问题从 StackOverflow 上的“未回答”问题列表中删除。因此,我重复您在评论中讨论的解决方案。
@nos建议:
您的数据库是否有可能使用 MySQL
MyISAM 表?他们不支持
交易。你必须使用InnoDB
如果你想要交易的话表
支持。
@比利 回复:
是的,我正在使用 MyISAM 表。我已经更改为 InnoDB 表并且它可以工作。谢谢。
(我已将其标记为社区维基答案,因此我不会从中获得任何积分。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)