我正在开发一个项目,该项目将在网站上收集大量流量,因此当用户创建帖子时,该插入帖子的 ID 应立即可用,以便插入到另一个表中。
我的问题是,当网站上的流量太多时,插入新的帖子会发生冲突,如果 user1 首先插入帖子并且网络速度较慢,则几乎同时但在 user1 之后, user2 插入帖子并且使用更快的网络?此时,user2 的帖子将是最后插入的帖子,user1 可以查询 user2 的帖子 id 作为最后插入的帖子 ID。
我不知道如何解释这一点,但我希望有人能理解并帮助我。
<?php
$sql = $db_connect->prepare("insert into post(userid,postnum,posttext)values(?,?,?)");
$sql->bind_param("sss",$id,$postnum,$post);
$sql->execute();
$post_id = $sql->insert_id;
?>
最佳答案
使用自动增量字段作为您的 ID,而不是自己生成它。无论并发请求数量有多少,Db 都会注意使其唯一。
关于php - 当流量很大时,表中最后插入的 ID 可能会遇到冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46926817/