1

我正在使用codeigniter,我正在使用类似的代码

$this->db->trans_start(); 
some 5 mysql inserts and 
$this->db->trans_complete();

DB Transaction Failure在第 5 次查询时遇到错误,即一些重复输入错误。但是我的所有第 1 4 个查询仍然被执行。不应该回滚吗?

4

2 回答 2

0

用于"Strict Mode"您的交易。如果其中一个查询失败,if 将自动回滚其他查询。点击这里查看详细信息。希望它会帮助你。

于 2013-04-17T07:16:31.197 回答
0

您可以按如下方式手动运行事务:

$this->db->trans_begin();

$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');

if ($this->db->trans_status() === FALSE)
{
    $this->db->trans_rollback();
}
else
{
    $this->db->trans_commit();
}
于 2013-04-17T07:37:46.813 回答