通过 lastInsertId() 获取 ID 是不是安全? [复制]

Posted

技术标签:

【中文标题】通过 lastInsertId() 获取 ID 是不是安全? [复制]【英文标题】:Is it safe to get ID through lastInsertId()? [duplicate]通过 lastInsertId() 获取 ID 是否安全? [复制] 【发布时间】:2014-09-03 17:02:10 【问题描述】:

我有一个每秒插入数百条记录的数据库,我有以下插入查询,我想知道这个查询的插入 ID:

   $currQuery = $pdo->prepare("INSERT INTO some_table (...... )");
   $currQuery->execute("....");
   $queryInsertId = $pdo->lastInsertId();

我只是想知道在我每秒有数百条新记录的情况下使用lastInsertId() 是否安全?有什么想法吗?

【问题讨论】:

那么,您是否担心如果访问此页面的用户过多,lastInsertId 会返回错误的值? @RocketHazmat 是的,正是…… is it possible for mysqli_insert_id to return an incorrect id in high-traffic app 【参考方案1】:

是的,它是安全的。它返回连接的最后一个插入 id。

【讨论】:

以上是关于通过 lastInsertId() 获取 ID 是不是安全? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

雄辩的 lastInsertId

lastInsertId 从不同的函数中获取

PDO:lastInsertId 返回啥值? [复制]

为什么PDO的Oracle驱动程序不实现lastInsertId()?

在这种情况下如何使用 lastInsertId?

未定义的方法 PDO lastInsertId