繁体   English   中英

如何转换此codeigniter查询以选择更新

[英]How to convert this codeigniter query to select for update

丢失更新是一个常见的MySQL问题,为了解决这个问题,应该将select查询编辑为像这样的更新查询选择

select * from users where id = 1 FOR UPDATE

防止其他用户同时在同一行上工作。 我想在codeigniter中执行此操作,方法是将此查询编辑为select for update query

public function get_row_data($id)
{

    $this->db->where('id',$id);

    $result = $this->db->get('users');

    if($result && $result->num_rows() > 0)
    {
        return $result->row();
    }
    else
    {
        return false;
    }
}

我可以使用上面的简单查询,但更喜欢可以转换模型查询。

谢谢

看起来你想在Mysql中获取行级锁定,而codeigniter查询生成器不允许操纵它的方法来生成自定义的sql查询

$this->db->trans_begin();
$this->db->query('you query goes here');
// other task .....
if ($this->db->trans_status() === FALSE) {
    $this->db->trans_rollback();
} else {
    $this->db->trans_commit();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM