Codeigniter:超出锁定等待超时,尝试重启事务

时间:2014-08-25 05:00:02

标签: mysql codeigniter

我的Codeigniter型号代码在

之下
$last_qt_pk_id  = "";
$i = 0;
foreach($query->result() as $row){
    $data [] = $row;
    $rq_pk_id   = $row->id;
    $question_type_pk_id = $row->question_type_pk_id;
    if($question_type_pk_id != $last_qt_pk_id){
        $i =1;
    } else {
        ++$i;
    }
    $up_data = array('receive_serial_ato_qt'=>$i);
    $this->db->where('id',$rq_pk_id);
    $this->db->update('qms_received_question_info',$up_data);

    $last_qt_pk_id = $question_type_pk_id;
}

我的上述代码首先它会更新,然后在视图中显示问题列表。

我的代码运行良好但有时会出现问题/错误。

我的错误在下面由图片

给出

enter image description here

我无法理解为什么有时会出现错误。如果我重新启动xampp然后它已经有一段时间了,但是过了一段时间后再次出现错误。我尝试过使用wamp和xampp,但它显示出同样的问题。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

这个错误完全是MySQL没有做到的。最好的解决方案是忘记MySQL并迁移到其他SQL,如PostgreSQL,但缺少此选项,可能以下内容对您有所帮助:

还考虑增加" innodb_lock_wait_timeout"值,并在处理事务时停止使用活动记录。

我个人不会使用活动记录,因为它需要大量内存并且会缩短性能时间