我有一个应用程序,每分钟创建大约20个帐户(平均)。我需要实现一个新功能,它需要最后一次插入的ID。
我正在使用PDO。
问题是,假设5个用户在同一时间创建帐户。它会从数据库中返回刚刚创建的用户配置文件的ID,还是会返回最后一次插入?
如果你理解我的意思。
答案 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,所有实例都是独立运行的。