Я размышлял об этом некоторое время.
Рассмотрим веб-приложение огромных размеров, где, скажем, миллионы 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-запрос для получения правильного идентификатора из базы данных, чтобы быть уверенным?