我已经思考了一段时间。
考虑一个规模巨大的Web应用程序,假设每秒执行数百万个SQL查询。
我运行我的代码:
$q = $db->prepare('INSERT INTO Table
(First,Second,Third,Fourth)
VALUES (?,?,?,?)');
$q->execute(array($first,$second,$third,$fourth));
紧接着,我想获取这个最后查询的自增ID:
$id = $db->lastInsertId();
lastInsertId是否可能失败,即获取在我的两个代码块之间执行的某些SQL插入查询的ID?
次要问题:
如果它可能失败,最好的方法是什么来防止这种可能的泄漏?
从数据库中创建另一个SQL查询以获取正确的ID是否更安全?