Я размышлял над этим некоторое время.
Рассмотрим веб-приложение огромных размеров, в котором, скажем, миллионы SQL запросы выполняются каждую секунду.
Я запускаю свой код:
$q = $db->prepare('INSERT INTO Table
(First,Second,Third,Fourth)
VALUES (?,?,?,?)');
$q->execute(array($first,$second,$third,$fourth));
Затем сразу же после этого я хочу получить автоматически увеличивающийся идентификатор этого последнего запроса:
$id = $db->lastInsertId();
Возможно ли, что lastInsertId завершится ошибкой, то есть получить идентификатор какой-то запрос на вставку SQL, который был выполнен между моими двумя блоками кода?
Вторичный:
Если он может завершиться ошибкой, как лучше всего устранить эту возможную утечку?
Будет ли безопаснее создать еще один SQL-запрос для получения правильного идентификатора из базы данных, просто чтобы быть уверенным?