如何获取最后一个插入的ID

时间:2010-06-08 23:20:22

标签: php

我有一个应用程序,每分钟创建大约20个帐户(平均)。我需要实现一个新功能,它需要最后一次插入的ID。

我正在使用PDO。

问题是,假设5个用户在同一时间创建帐户。它会从数据库中返回刚刚创建的用户配置文件的ID,还是会返回最后一次插入?

如果你理解我的意思。

3 个答案:

答案 0 :(得分:3)

  

它会从数据库返回刚刚创建的用户配置文件的ID,还是会返回最后一次插入?

它将返回当前连接会话的最后一个插入ID。因此,即使在同一脚本的另一个实例中创建了新记录,最后一个插入ID也是您想要的。

示例(伪造事件形式):

  

创建id为5的新用户

     

睡眠10秒 - 同时另一个脚本插入3个用户

     

获取最后一个插入ID - 这将是5

答案 1 :(得分:1)

你应该看一下PDO :: lastInsertID函数:http://de.php.net/manual/en/pdo.lastinsertid.php

答案 2 :(得分:0)

假设MySQL(我不认为所有数据库都有像MySQL这样的最后插入ID功能......),每个脚本都会返回刚刚输入的项目的ID,所有实例都是独立运行的。