gpt4 book ai didi

php - 如果流量很高,从数据库中检索最后插入的 ID 是否会有混淆的风险?

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:08 25 4
gpt4 key购买 nike

在 Codeigniter 中我们使用

* (Method that inserts a new row in the DB ) *

然后:

last_id = $this->db->insert_id();

检索数据库中“最后创建”行的 ID。

如果我们的应用程序流量非常高,它会不会意外获取另一个用户创建的东西的 ID?

流程:

  1. 向数据库中插入一行
  2. 运行 insert_id 方法以获取“最后插入的 ID”
  3. 使用该 ID

是否存在其他用户可能在步骤 #1 和 #2 之间创建新行的风险?

或者无论流量如何,它都是“即时”的?

如果不是,我们如何才能最好地防止高流量步骤之间的混淆?

最佳答案

不,这不是问题。最后一个插入 ID 是每个连接的值。如果另一个用户创建一行,他们有不同的连接,所以它不会影响第一个应用程序使用的连接。

来自documentation :

The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_INCREMENT value generated for most recent statement affecting an AUTO_INCREMENT column by that client. This value cannot be affected by other clients, even if they generate AUTO_INCREMENT values of their own. This behavior ensures that each client can retrieve its own ID without concern for the activity of other clients, and without the need for locks or transactions.

关于php - 如果流量很高,从数据库中检索最后插入的 ID 是否会有混淆的风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com