- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 Codeigniter 中我们使用
* (Method that inserts a new row in the DB ) *
然后:
last_id = $this->db->insert_id();
检索数据库中“最后创建”行的 ID。
如果我们的应用程序流量非常高,它会不会意外获取另一个用户创建的东西的 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/
我正在为安卓手机开发一款游戏。当我在我的 galaxy s 上测试我的 ggame 时,帧率约为 60,游戏相当流畅。但是当我在我兄弟的 galaxy ace 上测试游戏时,即使帧率仍然是 60,游戏
我正在运行一个加载大文件的脚本。我在单核 OpenSuSe 服务器和四核 PC 上运行了相同的脚本。正如在我的 PC 中预期的那样,它比在服务器中快得多。但是,该脚本会降低服务器速度并使其无法执行任何
我使用 Express & Jade 在 nodejs 中创建了一个网站。当我加载内容非常少的简单登录页面时,即使这样加载也需要很多时间。它的 TTFB 太高(引用所附的屏幕截图。) 下面是我的 ap
我是一名优秀的程序员,十分优秀!