当我在谷歌搜索时,我发现每个人都在建议getLastInsertID()
获取我们刚刚保存/插入的模型的ID。
但是如果在该方法运行之前的分裂毫秒期间,另一个用户插入了新数据呢?
该方法是否会返回该另一个用户插入的数据的ID?
为了澄清,这是一个例子:
$this->Post->save($this->request->data); //Data saved as ID 1
//During this split millisecond, someone else save a data with ID 2
$this->Post->getLastInsertID(); //will this return 1 or 2?
由于
答案 0 :(得分:1)
是的,我认为你的问题中的$this->Post->getLastInsertID();
会返回1
,即使其他用户保存了数据,也就是因为它的每个连接。它仅受当前客户端连接中发出的语句的影响。它不受其他客户发布的声明的影响。所以这意味着如果你提到的话,使用$this->Post->getLastInsertID();
会更安全。