【发布时间】:2017-11-14 06:22:40
【问题描述】:
我有一个名为 demo_model 的模型,其中包含如下方法:
class Hell_model extends CI_Model {
function insert_demon_to_hell()
{
$this->db->trans_start();
//insert to helldb for example
//update to helldb for example
$this->db->trans_complete();
}
}
我有一个名为 demo_controller 的控制器,就像这样
//REST CONTROLLER INCLUDED HERE
class Demon_controller extends REST_CONTROLLER {
function contruct() {
//LOAD HELL MODEL HERE
}
function demon () {
$demon_id = $this->get('demon_id');
$this->hell_model->insert_demon_to_hell($demon_id);
}
}
当有人遇到恶魔时,此 API 将调用。问题是当两个或更多人同时遇到恶魔(调用函数)时,即使我已经在模型函数中使用了事务,查询仍然会在同一张表上运行吗?
【问题讨论】:
-
如果您有任何不明确之处,请在下方发表评论。
-
事务不控制并发性,它们只是确保所有修改都完成或不做任何修改。它是控制并发的锁定机制。
-
你有控制并发的解决方案吗?
-
正如我所写:锁。
-
抱歉我的描述不好。因为我不知道该怎么说。
标签: php mysql codeigniter transactions