1

当我在谷歌上搜索时,我发现每个人都建议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?

谢谢

4

1 回答 1

1

是的,我认为即使其他用户保存了数据,$this->Post->getLastInsertID();您的问题也会返回,那是因为它的每个连接。1它仅受在当前客户端连接中发出的语句的影响。它不受其他客户发表的声明的影响。因此,如果您也提到过,这意味着使用$this->Post->getLastInsertID();会更安全。

于 2013-06-07T03:17:38.693 回答